2
我有一個DLL與類Test。 部首:matlab mex文件和C + + DLL(窗口)
class MY_EXPORT Test { public: int doit(const string &str); };
和來源:
int Test::doit(const string &str) { return int(str.length()); }
現在我用它從MEX文件:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { string str("hello!"); Test *t = new Test(); t ->doit(str); }
的問題,即變量str
未正確傳遞給該方法doit
。 它含有狂妄的方法。我發現這發生在通過引用傳遞的任何對象上。我做錯了什麼?請幫忙。 PS:如果我將聲明更改爲'int doit(const char *)',一切正常。
哪個編譯器? – 2011-03-28 14:50:50
@David Heffernan:visual studio 2008(vc9) – Boris 2011-03-28 15:03:50