2016-08-02 2 views
-2

코드에서 내 헤더 파일을 익사시키는 것을 피하기 위해 매우 constexpr-heavy 인 클래스를 만들었습니다. 코드를 .ipp 파일로 이동하고 헤더의 끝에 포함을 추가했습니다. , 불행하게도, 내 IDE (CLion)는 이미 선언 된 함수에 대한 오류 (그러나 여전히 컴파일)를 제공합니다 ... 어떻게 해결할 수 있습니까? 포함 경비원으로 시도했지만 작동하지 않았습니다.Circular include in C++ inline function

+2

42 번째 줄에 오류가 있습니다. –

+1

즉, 몇 가지 코드를 보여주십시오. 그리고 "오류를 제공합니다"와 "여전히 컴파일해야합니다"는 함께 이해가되지 않습니다. –

+1

흠, 바이러스가 컴퓨터를 감염시킨 것 같아서 버리고, 차를 사 주면 프로그램이 제대로 작동해야합니다. –

답변

0

Vector3.ipp에는 #include "Vector3.h"을 사용합니다. 이것은 필요하지 않으며 다행스럽게도 Vector3.h에 정의 된 프리 프로세서 매크로는 참 원형 삽입을 방지합니다. 그러나 IDE는이 줄에 혼란스러워합니다. 그냥 지워야하고 괜찮을 것입니다.) 또한 Vector3.ipp 파일에 포함 된 가드가 기술적으로 포함되어 있지 않습니다.이 파일은 Vector3.h에만 포함되어 있으며 거기에 정의 된 포함 된 경비원이 이미 지키고 있기 때문입니다.