#include<string> class NoDefault { public: explicit NoDefault(int iv, int iiv):ivar(iv),iivar(iiv){} //加了explicit不支持隐式转换 private: int ivar; int iivar; }; class C { public: C(); private: NoDefault no; int cc; }; C::C():no(5,7),cc(0){}; //构造函数啊,或者 拷贝函数(同类型初始化) int main() { // NoDefault a = 4; C a; return 0; }