Iphone 在目标C中通过引用传递基本数据类型 我有一个C++函数,我从目标C调用它。我需要通过引用C++函数传递变量。但是在xOct中,我在XOFF中的错误是“预期的”,“,”,“或”,“”在“fo。h”之前的令牌。

Iphone 在目标C中通过引用传递基本数据类型 我有一个C++函数,我从目标C调用它。我需要通过引用C++函数传递变量。但是在xOct中,我在XOFF中的错误是“预期的”,“,”,“或”,“”在“fo。h”之前的令牌。,iphone,objective-c,xcode,pass-by-reference,Iphone,Objective C,Xcode,Pass By Reference,“foo.h”中的函数声明 test_viewcontroller.m中的函数调用 double UTM_x; double UTM_y; UTMzone = [[NSString alloc] init]; UTMzone = (NSString *) LLtoUTM(latitude,longitude,UTM_y,UTM_x); 谁能告诉我出了什么问题吗?将文件更改为test\u viewcontroller.mm 您告诉它编译为Objective-C文件,它不理解引用。MM’是

“foo.h”中的函数声明

test_viewcontroller.m中的函数调用

double UTM_x;
double UTM_y;
UTMzone = [[NSString alloc] init];    
UTMzone = (NSString *) LLtoUTM(latitude,longitude,UTM_y,UTM_x);

谁能告诉我出了什么问题吗?

将文件更改为test\u viewcontroller.mm


您告诉它编译为Objective-C文件,它不理解引用。MM’是ObjultC++,它可以像你所做的那样把Obj-C和C++混合在一起。

< P>你不能简单地在C中使用这一点,因为C中没有引用。因此,您必须使用Objective-C++,这基本上意味着将Objective-C文件的扩展名更改为“.mm”。

@Joshua-我试过了。但它会影响我在test_viewcontroller.m中编写的其他obj-C代码。(我收到50个错误,我没有耐心调试它)在目标C中是否有任何等价于C++的引用?除非你做了一些扭曲的事情,否则你不应该得到错误……但是你最近得到的是你的标准C通过地址,然后在另一边注释它[[NSCONTRORICAL]自动]。这是完全错误的。alloc/init永远不应该分开。@Joshua-我调试了它并修复了它!所以现在我有一个.mm文件,但我得到了错误。你知道我的语法错了吗?我需要更多的上下文,你确定头没有包含在任何其他m或c文件中吗?
double UTM_x;
double UTM_y;
UTMzone = [[NSString alloc] init];    
UTMzone = (NSString *) LLtoUTM(latitude,longitude,UTM_y,UTM_x);