我有在我们有一个结构矢量结构
struct Pair {
string s1;
string s2;
bool equivalent;
};
然后,他建立了这些结构的硬编码
std::vector<Pair> PairID;
staticdata() {
PairID={{"string","string2",true},
{"string","string3",true},
{"string","string4",false},
{"string","string7",false},
{"string3","string8",false}
};
}
不幸的是我的编译器的矢量另一个人给我一些代码在抱怨上线PairID = {{ “字符串”, “字符串2”,真},
这是为什么?他建议使用-std = C++ 0x进行编译,但我的编译器(gcc 4.2)不支持这一点。有没有简单的方法来转换代码,以便它的作品?为什么它失败?
我使用Mac OSX和宁愿不更新我的编译器
话又说回来,在PigBen的答案临时数据可以被制作成static变量,因此这将需要更少的空间和快于您的解决方案进行复制。 – 2010-11-11 15:33:44
@Victor:可以肯定的,我可能会使用像PigBen的一个解决方案,除非出于某种原因,我不想。 – 2010-11-11 15:34:58
@Victor:但我非常怀疑,在优化版本中,PigBen的解决方案将比这更快。 – 2010-11-11 15:36:30