我不理解为什么不能编译一个类,它既有一个成员(无默认构造函数),又有一个带有花括号等于初始化器的继承构造函数。g ++会报错: test.cpp:22:15:错误:使用已删除的函数“Derived :: Derived(float)”<br/> 派生d(1.2f); ...
正如[namespace.udecl]/18所述: [...] 命名构造函数的using声明不会创建同义词;相反,如果使用它们来构造相应基类的对象时可以访问到额外的构造函数,则可以访问这些构造函数,并且忽略using声明的可访问性。[...] 因此,以下代码无法编译: class B {...