zvi*_*fer 0 c++ inheritance constructor c++11
我尝试了以下代码:
struct Base {
Base(int a) {}
};
struct Derived : Base {
using Base::Base; // Inherit Base's constructors.
};
int _tmain(int argc, _TCHAR* argv[])
{
Derived d(1);
}
Run Code Online (Sandbox Code Playgroud)
这不编译,我得到:
error C2664: 'Derived::Derived(const Derived &)' : cannot convert argument 1 from 'int' to 'const Derived &'
Run Code Online (Sandbox Code Playgroud)
(无法找到相关的构造函数,它尝试调用默认的复制构造函数)
如何修复继承以便Derived d(1);编译?
根据http://msdn.microsoft.com/en-us/library/hh567368.aspx构造函数继承未在任何现有的Visual C++编译器中实现:(
但是,如果我们有耐心等待一段时间,请参阅http://blogs.msdn.com/b/vcblog/archive/2014/06/11/c-11-14-feature-tables-for-visual- studio-14-ctp1.aspx即将发布的版本将支持此功能.
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |