이 내 기본 코드입니다 :extern "C"함수에서 클래스 변수에 어떻게 액세스합니까?
MyClass::MyClass(){
mystring[0] = 0;
}
extern "C" MyClass::function(/* variables */){
cerr << mystring << endl;
}
문제, 보인다, 내가 세그먼트 오류를 얻을 수 있습니다 : 여기
헤더 파일입니다 :
/** Include the necessary things **/
Class MyClass{
private:
std::string mystring;
/**
* Declare constructor, methods, yada yada yada
**/
};
그리고 여기에 소스 파일의 cerr < < 미스트 링 < < endl; 행. function()은 네이티브 C 함수에 대한 인수로 전달되므로 extern "C"함수 여야합니다.
아이디어가 있으십니까? 미리 감사드립니다.
을 ... C 아무튼 클래스에 대해 알지 못하고 반환 값이 없어도 ... –
코드가 컴파일됩니까? – Arun
C 함수는 'MyClass' 인스턴스를 나타내는 인수를 전달해야합니다. – jxh