cpp函数访问不了h文件中的变量,该怎么解决

cpp函数访问不了h文件中的变量

TMPDoc.h

// TMPDoc.h : CTMPDoc 类的接口
//


#pragma once
#include "tmpdatalist.h"
#include  "TmpDataList.h"


class CTMPDoc : public CDocument
{
protected: // 仅从序列化创建
CTMPDoc();
DECLARE_DYNCREATE(CTMPDoc)
    
// 属性
public:

// 操作
public:

// 重写
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
CTmpDataList m_DocList;
const CTmpDataList &GetDocList() { return m_DocList ; }


// 实现
public:
virtual ~CTMPDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif

protected:


// 生成的消息映射函数
protected:
DECLARE_MESSAGE_MAP()


public:


afx_msg void OnDataImport();
bool LoadData( CStdioFile  &inFile );

};







请看 m_DocList已经定义了,

然后再cpp中



// TMPDoc.cpp : CTMPDoc 类的实现
//

#include "stdafx.h"

#include "TMP.h"
#include "MainFrm.h"
#include "TMPDoc.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CTMPDoc

IMPLEMENT_DYNCREATE(CTMPDoc, CDocument)

BEGIN_MESSAGE_MAP(CTMPDoc, CDocument)
ON_COMMAND(ID_DATA_IMPORT, &CTMPDoc::OnDataImport)
END_MESSAGE_MAP()


// CTMPDoc 构造/析构

CTMPDoc::CTMPDoc()
{


}

CTMPDoc::~CTMPDoc()
{
}

BOOL CTMPDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;

// TODO: 在此添加重新初始化代码
// (SDI 文档将重用该文档)

return TRUE;
}




// CTMPDoc 序列化

void CTMPDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: 在此添加存储代码
}
else
{
// TODO: 在此添加加载代码
}
}


// CTMPDoc 诊断

#ifdef _DEBUG
void CTMPDoc::AssertValid() const
{
CDocument::AssertValid();
}

void CTMPDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG

void CTMPDoc::OnDataImport()
{
CString strFilter = (_T("Data Files (*.txt)|*.txt|All Files (*.*)|*.*||"));

CFileDialog aFileDialog( TRUE, NULL, NULL,
                     OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
 strFilter);

int nID = aFileDialog.DoModal();

         if ( nID == IDOK )
{
CStdioFile aFile ;
LoadData( aFile ) ;
}

// TODO: 在此添加命令处理程序代码
}


bool LoadData( CStdioFile  &inFile )
{  
m_DocList.AddTail( CTmpData( _T("张小山"), 
   COleDateTime( 2003, 4, 1, 9, 0, 0 ),
   36.3 ));
m_DocList.AddTail( CTmpData( _T("张小山"), 
   COleDateTime( 2003, 4, 2, 9, 0, 0 ),
   36.4 ));
m_DocList.AddTail( CTmpData( _T("张小山"), 
   COleDateTime( 2003, 4, 3, 9, 0, 0 ),
   36.5 ));
m_DocList.AddTail( CTmpData( _T("张小山"), 
   COleDateTime( 2003, 4, 4, 9, 0, 0 ),
   36.6 ));
m_DocList.AddTail( CTmpData( _T("张小山"), 
   COleDateTime( 2003, 4, 5, 9, 0, 0 ),
   36.7 ));
m_DocList.AddTail( CTmpData( _T("李小名"), 
   COleDateTime( 2003, 4, 1, 9, 0, 0 ),
   36.3 ));
m_DocList.AddTail( CTmpData( _T("李小名"), 
   COleDateTime( 2003, 4, 2, 9, 0, 0 ),
   36.4 ));
m_DocList.AddTail( CTmpData( _T("李小名"), 
   COleDateTime( 2003, 4, 3, 9, 0, 0 ),
   36.5 ));
m_DocList.AddTail( CTmpData( _T("李小名"), 
   COleDateTime( 2003, 4, 4, 9, 0, 0 ),
   36.6 ));
m_DocList.AddTail( CTmpData( _T("李小名"), 
   COleDateTime( 2003, 4, 5, 9, 0, 0 ),
   36.7 ));
m_DocList.AddTail( CTmpData( _T("王小军"),