클래스의 일부 함수가 실제로 객체에 액세스하지 않는다는 것을 알았으므로 static
. 그런 다음 컴파일러는 액세스하는 모든 변수가 정적이어야한다고 말했습니다. 지금까지는 꽤 이해할 수 있습니다. 다음과 같은 문자열 변수가 많이 있습니다.
string RE_ANY = "([^\\n]*)";
string RE_ANY_RELUCTANT = "([^\\n]*?)";
수업에서 등등. 나는 static const
그들이 결코 변하지 않기 때문에 그것들을 모두 만들었습니다 . 그러나 내 프로그램은 클래스 밖으로 이동하는 경우에만 컴파일됩니다. 그렇지 않으면 MSVC ++ 2010은 "정적 상수 정수 변수 만 클래스 내에서 초기화 될 수 있습니다."라고 불평합니다.
그것은 불행한 일입니다. 해결 방법이 있습니까? 나는 그들이 속한 수업에 남겨두고 싶습니다.
const
및static
.