C++ でネストされたクラスについて学び始めました。ここに貼り付けた簡単なコードを試して、ネストされたクラスがどのように機能するかを確認しました。しかし、コンパイルは私が理解できないいくつかのエラーで終了します。
ファイル: check.cpp
class Outside{
public:
class Inside{
private:
int mInside;
public:
Inside(const int& x):mInside(x){}
};
private:
Inside mOutside(20);
};
int main(void){
Outside o;
return 0;
}
コンパイル時に発生するエラーg++ -Wall -std=c++11 -o check.out check.cpp
check.cpp:12:25: error: expected parameter declarator
Inside mOutside(20);
^
check.cpp:12:25: error: expected ')'
check.cpp:12:24: note: to match this '('
Inside mOutside(20);
^
このエラーの背後にある適切な説明と、このエラーを克服する方法が必要です。