2014-04-23 3 views
0

나는 A 클래스라는 C++ 프로젝트를 가지고있다. Definitions.h이라는 헤더 파일도 있습니다. 클래스 재정의 C++

내가 헤더 파일에 다음 코드를 작성 :

A* aClass; 

그리고 응용 프로그램의 기본에, 나는 쓰기 :

aClass = new A(); 

이에 의해 나에게 클래스 A의 재정의 오류를 제공합니다 그것을 사용하는 다른 클래스들.

그래서, 웹을 검색 한 후, 나는 extern 키워드가 감속에 추가되어야한다는 것을 발견, 그래서 나는이에 헤더 파일의 클래스 감속 수정 :

extern A* aClass; 

가 지금은 LNK2001 오류를 받고 있어요 .

무엇이 누락 되었습니까?

+0

전체 코드 예제를 제공 할 수 있습니까? – MrDuk

+1

추가 A * aClass; 단일 번역 단위 (소스 파일) –

+0

참조 http://stackoverflow.com/a/12574403/673730 –

답변

0
나는 오류가있을 경우 완전히 이해하는 코드를 볼 필요가 있지만,이 시도 할 수

: 주요 기능 전에 main.cc에서

extern A* aClass; 

: 헤더에

을 :

A* aClass; 

메인 함수 내부 :

int main() 
{ 
... 
aClass = new A(); 
... 
} 

잘하면 도움이됩니다!