2013-07-10 1 views
2

, 정말 같은 추상적 인 데이터 유형에 대한 포인터의 집합을 초기화 할 수 아니에요 :추상 형식의 개체에 대한 포인터를 할당 할 수 없습니까? 어떤 이유

gkAnimation* run = NULL, walk = NULL, idle = NULL; 

내가 말하는 오류 받고 있어요 :

jni/STEP3D_GK_Wrapper_JNI.cpp:283:34: error: cannot allocate an object of abstract type 'gkAnimation' 

나는 천국을 ' 이 문제는 전에 발생 했었습니다. 클래스 자체가이 오류가 발생하기 위해 특별한 조치를 취하고 있거나 문제가 될 것이라고 생각하지 않습니다. 도움이된다면 더 많은 코드를 게시 할 수 있지만 여기서는 꽤 어려워합니다. 어떤 아이디어?

+0

이 질문은 중복되어야합니다. 맞습니까? –

+2

태그 : "self-outsmarting". –

+0

나는 오류를 보았는지 확신 할 수 없지만, "별도의 줄에 모든 선언문 넣기"로 갈 것입니다. –

답변

8

문제는이 구문이 :

gkAnimation* run = NULL, walk = NULL, idle = NULL; 

의미하지 않습니다 : 그것은 의미

gkAnimation* run = NULL; 
gkAnimation* walk = NULL; 
gkAnimation* idle = NULL; 

:

gkAnimation* run = NULL; 
gkAnimation walk = NULL; /* invalid */ 
gkAnimation idle = NULL; /* invalid */ 

명시 적 목록 등의 각 항목을 정의해야합니다 포인터 :

gkAnimation *run = NULL, *walk = NULL, *idle = NULL; 

많은 사람들이 형식 옆에 변수 대신 포인터를 배치하는 구문 스타일을 선호합니다.

+2

... 왜 많은 사람들이 소스 행당 하나의 변수를 선언하는 규칙을 선호합니다. – Casey

+0

@Casey Im 큰 팬도 아닙니다. –

+1

감사합니다.이 도움이되는 것으로 나타났습니다. http://stackoverflow.com/questions/13618282/c-declaring-multiple-object-pointers-on-one-line-causes-compiler-error – mpellegr

관련 문제