私は次のコードを持っていました:
#include <iostream>
struct T
{
int a, b, c;
};
int main()
{
T t = {0};
std::cout << t.a << ',' << t.b << ',' << t.c << '\n';
}
出力:
0,0,0
このコードが重要な本番環境で問題なく実行され、重要な機能を果たした後、プロジェクトの要件が変更され、出力をである必要がありました1,1,1
。
だから、私はに変更{0}
しました{1}
:
#include <iostream>
struct T
{
int a, b, c;
};
int main()
{
T t = {1};
std::cout << t.a << ',' << t.b << ',' << t.c << '\n';
}
出力:
1,0,0
1,1,1
代わりに期待していました。
なぜ私struct
のメンバー全員が適切に初期化されていないのですか?