這是我的基本代碼:如何從extern「C」函數訪問類變量?
這裏的頭文件:
/** Include the necessary things **/
Class MyClass{
private:
std::string mystring;
/**
* Declare constructor, methods, yada yada yada
**/
};
而這裏的源文件:
MyClass::MyClass(){
mystring[0] = 0;
}
extern "C" MyClass::function(/* variables */){
cerr << mystring << endl;
}
的問題,現在看來,是我得到一個分段錯誤on cerr < < mystring < < endl;一行。 函數()需要是外部「C」函數,因爲它作爲參數傳遞給本機C函數。
任何想法?提前致謝。
這將無法正常工作。C沒有按不知道類和你的方法甚至沒有返回值... – 2013-04-10 19:52:41
代碼是否編譯? – Arun 2013-04-10 19:53:29
C函數需要傳遞一個表示MyClass實例的參數。 – jxh 2013-04-10 19:53:35