2013-02-22 84 views
-1

我目前正在与一个wxWidgets的项目的工作,我有一个wxString复制到一个静态的C字符串,可以用来存放程序的生命周期价值。基本上我的头文件和源文件看起来像这样:如何使用静态字符

*****************PortDialog.h***************** 

... 
static char *portName; 

-----------------------end 

和源文件是;

***************PortDialog.cpp***************** 

. 
. 
. 
wxString str = "COM1"; 

strcpy(portName, (const char*)str.mbc_str()); 

---------------------end 

但是我遇到以下链接错误。

error LNK2001: unresolved external symbol "public: static char * portDialog::eportName" ([email protected]@@2PADA) 

有人可以向我解释我在这里犯的是什么错误?上述目的使用static char *是否正确?

回答

0

除此之外,您还收到了有关链接器错误的解释,你也应该知道,你不能叫strcpy目的地为一个char *具有没有分配内存来保存源字符串。它会编译(和链接),但在运行时可以做任何事情。

0

静态变量在CPP文件中声明

char* PortDialog::PortName = NULL; 

像你做访问类使用范围解析操作符

void PortDialog::SomeFunction() 
{ 
    //Code Goes here 
} 
的方法(函数)
相关问题