定义了一个static CString m_temp
请问怎么初始化
编译出现如下错误:
TransferSocket.obj : error LNK2001: unresolved external symbol "public: static class CString  CTransferDlg::m_temp" (?m_temp@CTransferDlg@@2VCString@@A)
Debug/Transfer.exe : fatal error LNK1120: 1 unresolved externals请高手赐教!帮我解决一下
我是想定义一个静态CString变量,用来传递数值!

解决方案 »

  1.   

    //代码太多只写个大概意思
    {
    .....
    if(msg.m_iCommand==1)
    ........
    m_temp=m_dlg->m_NeedTransferFiles[i];//需要用m_temp做变量,在同一个函数中使用if(msg.m_iCommand==2)
    .....
    int k=m_temp.ReverseFind('\\');
    .......
    }
    可否将m_temp定义成静态的
      

  2.   

    可否使得第一个m_temp和第二个m_temp保持一致
      

  3.   

    在类外初始化
    CString YourClass::m_temp="xxdfdsfsdf";
      

  4.   

    Transfer.obj : error LNK2005: "public: static class CString  CTransferSocket::m_temp" (?m_temp@CTransferSocket@@2VCString@@A) already defined in ServerSocket.obj
    初始化后总是这样的错误!!
      

  5.   

    不用定义成静态的,
    只要是全局的就可以了!!在类外定义也可以!CString m_temp;或者,在类里面,定义个类内全局就行了,要不就定义成指针,,
    申请内存,不释放,里面的东西,是不会丢的!
      

  6.   

    静态成员变量必须在你的CPP里初使化
    CString CMyClass::m_temp = "";