7
:変数aがまだ宣言されていないときまだ宣言されていないメンバー変数をメンバー関数で使用することはできますか?たとえば
struct X{
X():a{10} {}
void foo() { a = 10; }
private:
int a;
};
は、なぜこれはコンパイルのでしょうか?
:変数aがまだ宣言されていないときまだ宣言されていないメンバー変数をメンバー関数で使用することはできますか?たとえば
struct X{
X():a{10} {}
void foo() { a = 10; }
private:
int a;
};
は、なぜこれはコンパイルのでしょうか?
コンパイラは基本的に、クラスまたは構造体の定義に対して2つのパスを実行します。 1つは、構造体/クラスがメンバーの宣言を解析して処理するためのもので、1つはインライン関数のためのものです。
変更: "パーズハンドハンドル"を "解析して処理する"? – Rishi
もう少し詳細を教えていただけますか? –