0

私は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
..

これは私のコードの実行がどのように見えるかです

前もって感謝します!

4

1 に答える 1

2

エラーメッセージはそれを非常によく説明しています。コードのどこかで、コンストラクター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
于 2013-07-17T16:28:31.310 に答える