如何使用C++;在XCode中使用Objective-C 我想用Objtovi-C使用/重用C++对象。 我有一个hello.h,它有类定义,还有hello.cpp用于类实现 class Hello { int getX() ... };

如何使用C++;在XCode中使用Objective-C 我想用Objtovi-C使用/重用C++对象。 我有一个hello.h,它有类定义,还有hello.cpp用于类实现 class Hello { int getX() ... };,c++,objective-c,xcode,objective-c++,C++,Objective C,Xcode,Objective C++,我在Objective-C函数中使用了这个类 #include "hello.h" ... - (IBAction) adderTwo:(id)sender { Hello *hi = new Hello(); int value = hi->getX(); NSLog(@"Hello %d", value); [textField setIntValue:value]; 当我在Xcode中编译代码时,我得到了这个错误消息 clas

我在Objective-C函数中使用了这个类

#include "hello.h"
...
- (IBAction) adderTwo:(id)sender
{
    Hello *hi = new Hello();            
    int value = hi->getX();
    NSLog(@"Hello %d", value);
    [textField setIntValue:value];
当我在Xcode中编译代码时,我得到了这个错误消息

class Hello *XXXXX Users/smcho/Desktop/cocoa/adderTwo/hello.h:9:0 /Users/smcho/Desktop/cocoa/adderTwo/hello.h:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Hello' 班级你好*XXXXX Users/smcho/Desktop/cocoa/adderTwo/hello.h:9:0 /Users/smcho/Desktop/cocoa/adderTwo/hello.h:9: 错误:应为“=”、“、”、“;”、”“Hello”之前的asm或“\uuuuu属性”
出了什么问题

将Objective-C文件从
filename.m
重命名为
filename.mm
,以使其编译为Objective-C++。

确保将该文件编译为“Objective-C++”

最简单的方法是将其重命名为*.mm

如果不想重命名*.m文件

  • 选择您的文件
  • 打开文件信息对话框(Cmd+I)
  • 在文件类型中,选择“sourcecode.cpp.objcpp”

  • 谢谢你,伙计!!你帮我发现了类似的问题,这花了我两天的时间。现在Xcode显示了一个更容易理解的建议Objectice-C++source这也有帮助吗:或者