nor*_*lli 7 c++ struct map initializer-list c++11
struct Structure {
// Structure(const char* n, int v, bool a) : name(n), value(v), awesome(a) {}
const char* name;
int value;
bool awesome;
};
std::map<const char*, Structure> map;
map["alpha"] = {"Alpha", 0, true};
map["beta"] = {"Beta", 1, false};
map["gamma"] = {"Gamma", 2, true};
Run Code Online (Sandbox Code Playgroud)
G ++(4.6)在C++ 03中接受这种赋值语法,但抱怨'扩展初始化语法只能在C++ 0x中使用'(释义).我知道我可以创建一个按顺序接受值的构造函数,但我想知道这个语法是否可以接受(没有C++ 0x),或者G ++只是让我感到安慰,因为我对C +非常着急+ 0X.
使用clang ++进行编译甚至不允许它(带有C++ 0x,我假设缺少初始化列表),说"预期表达式",这基本上意味着"这到底是什么?",甚至在我使用时构造函数(上面已注释掉),它会抛出错误.
简介:基本上,使用的语法是什么,我可以使用初始化列表格式(在C++ 03或C++ 0x中)吗?
归档时间: |
|
查看次数: |
4319 次 |
最近记录: |