cpp函数访问不了h文件中的变量,该怎么解决
cpp函数访问不了h文件中的变量
请看 m_DocList已经定义了,
然后再cpp中
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("王小军"),