Mex运行时错误:意外的标准表达式

时间:2013-07-17 16:21:58

标签: c++ matlab runtime mex

我是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
..

这就是我的代码的执行情况

提前谢谢你!

1 个答案:

答案 0 :(得分:2)

错误消息很好地解释了这一点,在代码中的某处,您通过将NULL指针传递给其构造函数来构造basic_string。采用basic_string的{​​{1}}构造函数要求指针为非NULL,因此崩溃。

请注意,CharT *std::stringstd::wstring类模板的typedef,因此您可能在代码中使用其中一个。

您可以通过执行类似于以下代码段

的操作来解决此问题
std::basic_string