考虑(File.mm)
enum SomeEnum {
e1, e2
} ;
@interface SO : NSObject
- (void) dealWithConstCppRefEnum: (const SomeEnum&) someEnum ;
@end
struct CPPObj {
void doToObjCObj(SO * obj) {
[obj dealWithConstCppRefEnum:e1] ;
}
}
@implementation SO
- (void) dealWithConstCppRefEnum: (const SomeEnum&) someEnum {
if (someEnum == e1) {
//
} else if (someEnum == e2) {
//
} else {
NSLog(@"WTF??") ;
}
}
@end
(这是我正在努力解决的简化版本)
我总是得到:“WTF ??”
任何人都知道如何在ObjC ++文件中协调C ++样式const引用和C / ObjC?