我正在尝试将第3方C库集成到我的项目中,我以前从未做过此事,并且遇到了一些问题,该问题应该如此简单,将字符串值传递给C函数。

下面是我的代码,失败的行生成以下错误:

'使用ARC不允许将Objective-C指针隐式转换为'const char *'

我的代码:

NSString *myMapCode = @"GBR H4J.XLL";
double lat = 0.0;
double lng = 0.0;

returnValue = mc2coord(&lat, &lng, "GBR H4J.XLL", 0);  // This works perfectly
returnValue = mc2coord(&lat, &lng, myMapCode, 0);      // This is my Problem code

谢谢你的帮助。

最佳答案

在这里,您传递的是NSString,而不是C字符串:

returnValue = mc2coord(&lat, &lng, myMapCode, 0);

如果该函数需要C字符串,则可以更改
NSString *myMapCode = @"GBR H4J.XLL";


const char *myMapCode = "GBR H4J.XLL";

或将NSString转换为C字符串:
NSString *myMapCode = @"GBR H4J.XLL";
returnValue = mc2coord(&lat, &lng, [myMapCode UTF8String], 0);

10-06 13:09