例えば class MyClassA { MyClassA(int n); }; class MyClassB { explicit MyClassB(int n); }; となっていた場合、 MyClassA a(3); // OK MyClassA a = 3; // OK MyClassB b(3); // OK MyClassB b = 3; // NG となる。
また、 void myFuncA(MyClassA a); void myFuncB(MyClassB b); という関数があった場合 myFuncA(3); // OK myFuncB(3); // NG となる。myFuncB(MyClassB(3)) は可能。