我有以下代码:
#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
的成员没有被正确初始化?