我正在尝试将NSString传递给C ++方法,我尝试了这个但它不起作用:
trackName = @"name";
Track track(new String([trackName UTF8String]));
我正在.mm
文件中编写此代码。我还在文件顶部添加了#include <string>
,但我不确定是否有必要。知道我做错了什么吗?这些是我得到的错误:
这是我正在调用的C ++轨道构造函数:
Track(const string &aTrackName)
{
trackName = aTrackName;
}
答案 0 :(得分:1)
问题是你的函数期望string
并且你试图实例化一个String
对象,它可能一无所知。
此代码的另一个问题是它需要一个字符串引用,但是你传递一个指向字符串的指针。你可以简单地将它传递给临时字符串。尝试:
Track track(std::string([trackName UTF8String]));