私はMexが初めてです。C++ Mex ファイルをビルドした後、実行時にすぐにこのエラーが発生します。
>> [a b c] = read_svm('/All/testhalf_Anger_1.libsvm');
Unexpected Standard exception from MEX file.
What() is:basic_string::_S_construct NULL not valid
..
これは私のコードの実行がどのように見えるかです
前もって感謝します!
エラーメッセージはそれを非常によく説明しています。コードのどこかで、コンストラクターbasic_string
に NULL ポインターを渡して構築しています。を受け取るbasic_string
コンストラクターはCharT *
、ポインターが非 NULL であることを要求するため、クラッシュします。
std::string
とはクラス テンプレートstd::wstring
の typedef であるため、コードでこれらのいずれかを使用している可能性があることに注意してください。std::basic_string
次のスニペットと同様のことを行うことで、これを修正できます
char const *p = nullptr;
// std::string s(p); // This is not allowed!
std::string s( p ? p : "" ); // string will be empty if p is NULL