最初のケース:
class x
{
public:
x(){}
int mem;
}
2 番目のケース:
class x
{
public:
int mem;
}
int main()
{
x a;
std::cout << a.mem; //member not initialized error in second case
}
デフォルトのコンストラクターを定義しない場合、コンパイラーはコンストラクターを追加します。コンストラクターの機能はメモリを初期化しています。では、なぜ 2 番目のケースではエラーが発生するのに、最初のケースではエラーが発生しないのでしょうか?