我想在Objective C项目中使用C ++的Template类。 我已经读过它是受支持的。
当我尝试导入用C ++编写的模板类时,我遇到很多错误,比如
无法找到'class'的协议声明
等。
任何人都可以给我一个简单的例子。
等待回复。
答案 0 :(得分:1)
您将目标c ++代码放在.mm文件中?您需要使用.mm文件告诉编译器除了objective-c和c之外还允许解析c ++构造。
您不能只将.h文件的名称从.h更改为.mm - 包含#include / #import指令的文件名需要更改。
// file: main.m
#import "cppclassdef.h" //will not work
#import "cppclassdef.mm" // also will not work. additionally will confuse XCode which will try to compile the .mm file by itself.
// file: main.mm
#import "cppclassdef.h" // this is how to do it.