如何在目标C中使用c ++模板类

时间:2010-01-14 13:35:56

标签: iphone-sdk-3.0 objective-c++

我想在Objective C项目中使用C ++的Template类。 我已经读过它是受支持的。

当我尝试导入用C ++编写的模板类时,我遇到很多错误,比如
无法找到'class'的协议声明 等。

任何人都可以给我一个简单的例子。
等待回复。

1 个答案:

答案 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.