2012-07-27 1 views
1

이 라인이이 오류를 생성하는 이유는 누구에게 말해 줄 수 있습니까?유효하지 않은 순수 지정자 C++

virtual void Calculate(Pose *out_pose, HiBoneMask *mask = NULL, HiBoneMask *positionMask = NULL) = NULL; 

나는 시각 스튜디오와 코드 블록 모두에서 골격 애니메이션 라이브러리에 대해이 데모를 컴파일하려고 시도 해왔다. Visual Studio는 나에게 194 개의 오류 코드 블록만을 제공합니다. 차라리 작동하도록 코드 블록을 얻으려는 이유 때문에이 오류를 제시했습니다. 감사합니다

답변

3

그것은 순수 가상 함수에 대한 =0;해야 = 0

+0

방금 ​​XD를 시도해 본 결과 94 개의 오류가 발생했습니다. 다음에 – Kaliber64

3

과 끝 부분에 = NULL를 교체하십시오. NULL은 반드시 0 일 필요는 없습니다 (예 : 0L 일 수 있음).

0

NULL! = 0

virtual void Calculate(Pose *out_pose, HiBoneMask *mask = NULL, HiBoneMask *positionMask = NULL) = 0; 

올바른 것입니다.

0

당신이 NULL 대신

virtual void function() = 0; 

을 사용하여 순수 가상 함수를 선언;

1

이중 의미가 C++의 NULL :

NULL :이 매크로는 널 포인터 상수로 확장 널 포인터.

null 포인터는 일반적으로 포인터가 어떤 개체를 가리 키지 않음을 나타 내기 위해 사용됩니다. C++에서 NULL은 0 또는 0L로 확장됩니다.

귀하의 경우 그래서

, 당신은

function(arguments) = 0;

0

= 0 대신 = NULL를 시도 사용해야합니까?

1

NULL! = 0이지만 'NULL'을 사용하려면 #define NULL 0을 사용할 수 있습니다.