あるクラスを=(double)で初期化は許可するが、=(int)で初期化は許可しないように出来ますか?
class A
{
public:
A(const double&){} // =(int)でも初期化してしまう
// explicit A(const double&){} // =(double)で初期化できない
};