我在我的项目中添加了一个框架,在哪里获取我需要实现c ++代码的框架的回调,为此我添加了来自.cpp的.mm类的c ++类
as per suggestions given in this link
我也遇到过几篇StackOverflow的帖子,我发现要么必须使用C ++或Objective C源类型(作为少数成员的建议)。
我希望编译c ++代码和Objective C类,但我发现#include <cstdlib> and #include <string>
请让我知道任何一个解决它的人。或面临同样的问题。
先谢谢!!!
答案 0 :(得分:5)
我认为问题在于,您添加了C ++包含的.h文件包含在其他.m文件中,而不仅仅是.mm文件。 有几种方法可以解决这个问题:
将它们包含在
中#ifdef __cplusplus
#endif
块。也可以将此块用于提到C ++类的方法。 例如:
#ifdef __cplusplus
#include <string>
using namespace std;
#endif
@interface SomeClass
#ifdef __cplusplus
- (void) setName:(const string&) name;
#endif
@end
还有一种方法可以通过使用扩展和类别来避免#ifdef #endif
阻止: