0

我正在尝试将 NSString 传递给 C++ 方法,我尝试了这个,但它不起作用:

    trackName = @"name";
    Track track(new String([trackName UTF8String]));

我正在.mm文件中编写此代码。我还在#include <string>文件顶部添加了,但我不确定这是否有必要。知道我做错了什么吗?这些是我得到的错误:

在此处输入图像描述

这是我正在调用的 C++ 轨道构造函数:

Track(const string &aTrackName)
    {
    trackName =  aTrackName;
}
4

1 回答 1

1

问题是您的函数需要 astring并且您正在尝试实例化一个String对象,它可能对此一无所知。

这段代码的另一个问题是它需要一个字符串引用,但你传递给它的是一个指向字符串的指针。你可以简单地给它一个临时的字符串。尝试:

Track track(std::string([trackName UTF8String]));
于 2012-07-24T18:31:17.207 回答