継承を使用せずに、この非常に単純なクラスを使用しています。
class A
{
int a;
int b;
public:
A(int x, int y) { a = x; b = y;}
A() :A(0,0){};
~A(){};
} ;
int main ()
{
A a1, a2(5, 7) ;
}
このエラーが発生します。
エラー C2614: 'A': メンバーの初期化が無効です: 'A' はベースまたはメンバーではありません
SOにも同様の質問がありますが、継承に関連しています。誰かがその理由を説明できますか?標準はそれについて何と言っていますか?
編集:
誰かが転送コンストラクターと C++11 のこの機能について詳しく説明してくれるとよいでしょう。