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

問題は、関数が を期待していて、おそらく何も知らないオブジェクトstringをインスタンス化しようとしていることです。String

このコードのもう 1 つの問題は、文字列参照を想定しているのに、文字列へのポインタを渡していることです。一時的な文字列を渡すだけです。試す:

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