我正在尝试将第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);