我注意到我的一些函数实际上没有访问对象,所以我创建了它们static.然后编译器告诉我他们访问的所有变量也必须是静态的 - 到目前为止,这是可以理解的.我有一堆字符串变量,如
string RE_ANY = "([^\\n]*)";
string RE_ANY_RELUCTANT = "([^\\n]*?)";
Run Code Online (Sandbox Code Playgroud)
在课堂上等等.然后我做了所有static const因为他们永远不会改变.但是,如果我将它们移出类,我的程序只会编译:否则,MSVC++ 2010会抱怨"只有静态常量变量可以在类中初始化".
那很不幸.有解决方法吗?我想把它们留在他们所属的班级里面.