【发布时间】:2011-06-28 12:54:33
【问题描述】:
我注意到我在一个类中的一些函数实际上并没有访问该对象,所以我将它们设为static。然后编译器告诉我,他们访问的所有变量也必须是静态的——嗯,到目前为止,这是可以理解的。我有一堆字符串变量,例如
string RE_ANY = "([^\\n]*)";
string RE_ANY_RELUCTANT = "([^\\n]*?)";
在课堂上等等。然后我把它们都做成了static const,因为它们永远不会改变。但是,我的程序只有在我将它们移出类时才能编译:否则,MSVC++2010 会抱怨“只能在类中初始化静态常量整数变量”。
这很不幸。有解决方法吗?我想把他们留在他们所属的班级里。
【问题讨论】:
标签: c++ static initialization