我在自定义的对话框类中想添加一个CArray<InfoStruct,InfoStruct &> infoArray 这个变量。并且是吧他定义成类变量
也就是static类型的。
问题是在哪定义?我在写在对话框类定义中的任何位置他编译链接的时候都说
unresolved external symbol "public: static class CArray<struct InfoStruct,struct InfoStruct &> CDlgConsole::m_infoArray" (?m_infoArray@CDlgConsole@@2V?$CArray@UInfoStruct@@AAU1@@@A)
请问。怎么解决。先谢谢了

解决方案 »

  1.   

    h中定义了,你还要cpp初始化一下
    CArray <InfoStruct,InfoStruct &> infoArray;
      

  2.   

    class CDlgConsole : public CDialog
    {

    // Construction
    public:
    CDlgConsole(CWnd* pParent = NULL);   // standard constructor// Dialog Data
    //{{AFX_DATA(CDlgConsole)
    enum { IDD = IDD_DIALOG1 };
    CListBox m_lstUnitList;
    UINT m_uMaterialWidth;
    UINT m_uMaterialHeight;
    UINT m_uUnitAmount;
    UINT m_uUnitHeigth;
    CString m_strUnitName;
    UINT m_uUnitWidth;
    //}}AFX_DATA
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CDlgConsole)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL// Implementation
    protected: // Generated message map functions
    //{{AFX_MSG(CDlgConsole)
    afx_msg void OnBtnAdd();
    afx_msg void OnBtnDraw();
    afx_msg void OnBtnQuit();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    private:
    BOOL OverMaterialAreaOrNot();
    };
    具体点。放在哪。
      

  3.   

    在类的定义中
    加上 static CArray <InfoStruct,InfoStruct &> infoArray;
    在cpp中加上
    CArray <InfoStruct,InfoStruct &> CDlgConsole::infoArray;
      

  4.   

    头文件
    class CDlgConsole : public CDialog 
    {
    public:
     static CArray <InfoStruct,InfoStruct &> infoArray ; // 这是声明}然后在 CPP 文件里
    CArray <InfoStruct,InfoStruct &> CDlgConsole::infoArray ; // 就放在构造函数前边吧
    CDlgConsole::CDlgConsole () : public CDialog(...)
    {