代码之家  ›  专栏  ›  技术社区  ›  prosseek

如何在XCODE中使用ObjuleC实现C++

  •  21
  • prosseek  · 技术社区  · 14 年前

    我想用Objtovi-C使用/重用C++对象。 我有一个hello.h,它具有类定义,hello.cpp用于类实现。

    class Hello
    { int getX() ... };
    

    我在客观性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'
    

    怎么了?

    2 回复  |  直到 13 年前
        1
  •  34
  •   kennytm    14 年前

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

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

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

    1. 选择您的文件。
    2. 打开“文件信息”对话框(Cmd+I)
    3. 在文件类型中,选择“sourceCode.cpp.objcpp”
        2
  •  7
  •   Marcelo Cantos    14 年前

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