0

我是墨西哥的新手。构建 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 指针传递给它的构造函数来构造 a 。采用 a的basic_string构造函数CharT *要求指针为非 NULL,因此会崩溃。

请注意,std::stringandstd::wstringstd::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 回答