我正在尝试使用 c++11 编写一些代码,
struct Data {};
struct B {
B(Data data) : m_data{data} {}
Data m_data{};
};
它提示 错误:“数据”的初始值设定项太多
怎么了?
[更新] 谢谢大家,我的工具链配置有问题。
最佳答案
如果您不在较旧的 GCC 编译器(默认为 c++03)中启用 c++11 模式或更高版本,则会收到该错误字符串。
main.cpp:4:31: error: too many initializers for 'Data' B(Data data) : m_data{data} {}
查看here .尽管较新版本的 GCC 将为您提供更多有用的诊断以启用 c++11 模式。
因此,只需添加到您的编译器调用中:
-std=c++11
关于c++ - 错误 : too many initializers for a struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44111014/