我有一个Objective C选择器,它返回整数。我有一个C ++实例方法,它需要一个枚举。我该如何链接它们?我正在使用Objective C ++(。mm)课程。
我想称之为:
TKClass::foo(MyEnum enumVal) { ... }
使用此值的返回值:
- (int) intValue { ... }
像这样:
myCPPInstance->foo([myObjCInstance intValue]);
我尝试过投射(foo((MyEnum) [myObjCInstance integerValue])
),但它不起作用。我绝对不希望我的Objective C对象知道关于枚举的任何内容; intValue
需要保持整数。同样,我真的不希望C ++方法在接受枚举时担心整数输入。
我不是一个C ++程序员,如果这很容易就很抱歉。
由于
编辑:枚举的定义如下:
enum MyEnum {
Apples = 0,
Bananas = 1,
Chocolate = 2
};
答案 0 :(得分:2)
这是命名空间问题。演职员应该是:
myCPPInstance->foo((myNamespace::MyEnum) [myObjCInstance intValue]);