2012-06-08 3 views
1

관련 해결되지 : Eclipse CDT "Symbol NULL could not be resolved"이클립스 CDT C++ NULL은

나는 NULL 표준 매크로는 C에 있었다 ++ 및 헤더가 포함될 필요하지 않았다 인상이었다. 반면에 Eclipse는 존재하지 않는다고 생각합니다.

Eclipse에이 파일에 대한 C 모드가 아닌 C++ 모드임을 알리는 몇 가지 방법이 있습니까? 따라서 NULL 문제에 관해서는 어떻게 생각합니까?

+0

의 중복 가능성 [왜 NULL 선언되지 않은?] (http://stackoverflow.com/questions/924664/why-is-null-undeclared) (긴장을 풀고에서 인용) –

답변

9

NULL이 C++의 표준 매크로라는 인상하에있었습니다.

하지만 언어의 일부는 아닙니다. 당신은 여전히 ​​그 질문에 대한 최고의 대답에서 인용 등 <cstddef> 또는 <cstdlib>,

3

Why is NULL undeclared?

을 포함해야합니다.

NULL은 C 또는 C++ 언어의 기본 제공 상수가 아닙니다. 사실, C++에서는 다소 쓸모가 없으며 대신 리터럴 0을 사용하기 만하면 컴파일러는 컨텍스트에 따라 올바른 작업을 수행합니다.

그렇지 않으면, NULL 정의를 얻을 수

#include <stddef.h> 

를 추가합니다.

업데이트 : 잘못된 헤더가있어서 수정되었습니다. 감사!

관련 문제