统一初始化对ctor中的初始化父对象不起作用

时间:2012-12-25 10:43:39

标签: c++ c++11

假设我有一个结构:

struct A 
{
    int i;
};

我可以将其初始化为:

A a{1};

现在我有一个派生类:

struct B : public A
{
     B(int _i) : A{_i} {};
};

但我在B struct ctor中有一个编译错误:

error: no matching function for call to ‘A(<brace-enclosed initializer list>)’

编译器是gcc-4.6(SUSE Linux)4.6.3

1 个答案:

答案 0 :(得分:3)

您的代码没有任何问题;只是你的编译器不支持所有必需的C ++ 11特性。

您的构造函数使用gcc 4.7.0进行编译。