|
A, B 클래스 모두에
static wchar_t *aa;
이 있습니다.
A클래스의 어떤 함수에서
aa = new wchar_t[100];
aa[0] = 'A';
이라고 하면 aa 에 'A'가 들어가있습니다.
B클래스에도 이 코딩이 들어가있는 static함수가 있습니다.
static void B::test() {
aa = new wchar_t[100];
aa[0] = 'A';
}
위의 A클래스 함수에서 B::test() 를 호출해서 들어가보면 B클래스의 aa값에 'A'가 들어가지 않고, E2451 Undefined symbol 'aa' 라는 에러가 뜹니다.
어떤것이 잘못된 것일까요?
두 클래스다 aa를 NULL로 초기화는 했구요.
B클래스의 생성자에는 아무코딩도 없고, 다른 클래스에서 이미 B클래스는 생성을 했습니다.
도대체 왜 이런 차이가 나는지 모르겠습니다.
고수님들 제발 도와주시면 감사하겠습니다. 꾸벅~
|