C++ 라이브러리에서 제공하는 기능을 사용하는 Objective-C/C++ 응용 프로그램이 있습니다.Objective-C 및 C++ 코드 혼합
class TheClass
{
public:
[...]
enum TheEnum
{
YES,
NO,
};
[...]
};
포함하여 (즉 matters- -if 사용 # import에) 오브젝티브 C/C의 상기 클래스 선언 헤더 파일 ++ 소스 파일 다음 C++ 클래스
하나는 이런 열거 포함 (* .mm)은 "(BOOL) 1"("(BOOL) 0"과 마찬가지로 "NO")로 전 처리기가 "YES"를 대체하므로 컴파일이 실패하게됩니다.
열거 형 값의 이름을 바꾸지 않고 문제를 해결할 수 있습니까?
YES와 NO Objective-C에서 정의 된 매크로이므로 식별자를 식별자로 사용할 수 없습니다. – xtofl
좋아요, 그렇다면 선언의 순서를 바꾸지 않으시겠습니까? –
#import는 MIDL 컴파일러가 가져 오기 라이브러리의 C++ 표현을 포함하는 헤더 파일을 생성하도록합니다.이 헤더 파일은 이후에 전 처리기로 #include됩니다. – xtofl