Я хочу использовать/снова использовать объект C++ с Objective C. У меня есть hello.h, который имеет определение класса и hello.cpp для реализации класса.
class Hello
{ int getX() ... };
И я использую этот класс в функции 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'
Что пошло не так, как надо?
Убедитесь, что вы скомпилировали этот файл как "Objective-C ++".
Самый простой способ - переименовать его в *. Мм .
Если вы не хотите переименовывать файл * .m,
Переименуйте файл Objective-C с filename.m
в filename.mm
, чтобы он компилировался как Objective-C ++.