请帮我
错误详细信息如下:
B::XTT
是B
结构中的静态常量变量。
2969 if (index != B::XTT) {
2970 index_map_iter = lookup_index.find(merchandising_index);
2971 merchandising_index = index_map_iter != output_index.end() ? \
2972 index_map_iter->second : B::XTT;
非常奇怪的是,我第一次在第2969行使用
B::XTT
,它不会产生错误。但是在2972,我使用了B::XTT
,它产生了一个错误。而且,如果我在使用
-O2
命令时添加了g++
选项,它不会产生错误。但是,如果没有
-O2
,则确实会产生错误。 最佳答案
当您声明静态const成员变量时
class foo {
// omitted other members
static int MyConst;
};
您必须在一个编译单元中对其进行定义。
int foo:MyConst = 42;