假设我有以下结构:
struct sampleData
{
int x;
int y;
};
并且在使用时,我想将sampleData
类型变量初始化为已知状态。
sampleData sample = { 1, 2 }
后来,我决定需要在我的sampleData
结构中存储额外的数据,如下所示:
struct sampleData
{
int x;
int y;
int z;
};
z
我的理解是,从我的预数据结构中 遗留下来的两个字段初始化仍然是一个有效的语句,并且将被编译,用默认值填充缺失的字段。
这种理解正确吗?我最近一直在 Ada 工作,它也允许聚合初始化,但会将类似的问题标记为编译错误。假设我对上面 C++ 代码的假设是正确的,是否有一种语言结构可以将缺少的初始化值识别为错误?