2011-04-28 2 views
2

안녕하세요, 목표 C++/프로토콜 코드를 컴파일하려고했지만 다음 헤더의 모든 목적 c 줄의 코드에서 "프로토콜 전에 예상 된 선언 지정자"오류와 함께 컴파일이 실패합니다.Objective C 프로토콜과 함께 C++ 객체/클래스 사용

#import <UIKit/UIKit.h> 

#include <Category> 

@protocol StoreDelegate <NSObject> 
@optional 
...//Protocol methods 
... 
... 

@end 

@interface Store : NSObject { 
    id<StoreDelegate> delegate; 
    BOOL downloadFailed; 
    Category *currentCategory; 
} 

@property(nonatomic, assign) id<StoreDelegate> delegate; 

+ (Store *)sharedStore; 
...//Class methods 
... 
... 
@end 

"범주"는 C++ 클래스입니다. 클래스에서 프로토콜 관련 코드를 제거하면 코드가 잘 컴파일됩니다. 위의 코드를 재구성하여 컴파일하는 방법이 있습니까?

답변

2

아마도이 헤더를 순수한 C++ 소스 파일에 포함시킬 것입니다. 해당 헤더가 포함 된 파일은 확장명을 .mm으로 변경하거나 정보 창에서 genral 탭의 파일 형식을 sourcecode.cpp.objcpp으로 변경하여 Objective-C++로 컴파일해야합니다.

관련 문제