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