1

構造体があるとします:

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

4

1 に答える 1

3

コードに問題はありません。コンパイラが必要な C++11 機能のすべてをサポートしていないだけです。

コンストラクターは gcc 4.7.0 で正常にコンパイルされます。

于 2012-12-25T10:51:24.867 に答える