以下代码无法编译(GCC,clang):
struct outer {
struct inner {
int i = 1;
int j = 2;
};
void foo (const
inner& param =
inner{}) const {}
};
int main() {
outer{}.foo();
}
但是,向inner
添加默认构造函数(带有实现)可以解决此问题。将inner
移到名称空间范围也有帮助。
这是什么问题?我希望参考该标准。