mfc 为什么会报错啊
这个是我的头文件里面定义了一个公有成员
m_list(倒数第二行)
pragma once
#include "afxcmn.h"
// Main_Dialog 对话框
class Main_Dialog : public CDialogEx
{
DECLARE_DYNAMIC(Main_Dialog)
public:
Main_Dialog(CWnd* pParent = NULL); // 标准构造函数
virtual ~Main_Dialog();
// 对话框数据
enum { IDD = IDD_MAINDIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnCbnSelchangeCombo1();
afx_msg void OnBnClickedButton2();
afx_msg void OnBnClickedNew();
CListCtrl m_list;
afx_msg void OnLvnItemchangedmylist(NMHDR *pNMHDR, LRESULT *pResult);
};
但是我在cpp引用他的时候居然报错为什么啊(编译报错声明是最后一行的m_list未声明)~~而且我已经包含了他的头文件了#include "Main_Dialog.h"
#include "stdafx.h"
#include "addressBook.h"
#include "addressBookDlg.h"
#include "Main_Dialog.h"
#include "afxdialogex.h"
#include <fstream>
using std::fstream;
using std::ios;
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()
// CaddressBookDlg 对话框
CaddressBookDlg::CaddressBookDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CaddressBookDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CaddressBookDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_mylist, m_list);
}
[解决办法]
看这些Code 好像没什么问题,楼主先确认下 控件的ID 是不是IDC_mylist吧!