考虑以下 C++ 代码:
struct X
{
int a;
int b;
};
X foobar()
{
X x = { 1, 2 };
return x;
}
现在假设这段代码被放在一个共享库中,供第三方应用程序使用。
X
我的问题是:如果我在(例如)末尾添加另一个成员int c
,并在 中对其进行初始化,调用中断foobar()
的现有应用程序会吗?foobar()
请注意,这是关于二进制兼容性,而不是源代码兼容性。