Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何为添加到MFC文档/框架项目的对话框使用初始化列表_C++_Visual Studio 2010_Mfc_Dialog - Fatal编程技术网

C++ 如何为添加到MFC文档/框架项目的对话框使用初始化列表

C++ 如何为添加到MFC文档/框架项目的对话框使用初始化列表,c++,visual-studio-2010,mfc,dialog,C++,Visual Studio 2010,Mfc,Dialog,我在MFC文档/框架项目(Single doc、MFC、VC++2010项目)中添加了一个额外的对话框(TestDialog),TestDialog.h文件显示 class CTestDialog : public CDialogEx { DECLARE_DYNAMIC(CTestDialog) public: CTestDialog(CWnd* pParent = NULL); // standard constructor virtual ~CTestDialog()

我在MFC文档/框架项目(Single doc、MFC、VC++2010项目)中添加了一个额外的对话框(TestDialog),TestDialog.h文件显示

class CTestDialog : public CDialogEx
{
    DECLARE_DYNAMIC(CTestDialog)

public:
    CTestDialog(CWnd* pParent = NULL);   // standard constructor

virtual ~CTestDialog();
}
BOOL        m_x;          
long        m_Type
然后我添加了以下变量,我将在TestDialog.h文件中使用 公众:

BOOL        m_x;          
long        m_Type
TestDialog.cpp文件显示

BOOL        m_x;          
long        m_Type
CTestDialog::CTestDialog(CWnd* pParent /*=NULL*/)
    : CDialogEx(CTestDialog::IDD, pParent)
    , testdlg(0)
{
}

CTestDialog::~CTestDialog()
{
}
现在,我有了一个用于frame/doc文件(在..doc.cpp文件中声明)的使用初始化列表 并且相应的变量在.h文件中衰减,它工作得很好。但是每当我想在对话框中衰减相同的东西时,虽然可以从对话框中访问变量,但我无法初始化变量值。所以

BOOL        m_x;          
long        m_Type
我想在TestDialog.cpp文件中添加m_x和m_Type的初始化列表

BOOL        m_x;          
long        m_Type
 :
    m_x(FALSE)
    m_Type(0)
我试图添加如下内容

BOOL        m_x;          
long        m_Type
CTestDialog::~CTestDialog():
m_x(FALSE)
m_Type(0)
{
}

BOOL        m_x;          
long        m_Type

但是它们都不起作用,并且初始化列表中的编译器只能在构造函数中声明。如何为该对话框重新定义初始化列表。

您的对话框已经有一个初始化列表,您只需添加如下更改:

BOOL        m_x;          
long        m_Type
CTestDialog::CTestDialog(CWnd* pParent /*=NULL*/)
    : CDialogEx(CTestDialog::IDD, pParent)
    , testdlg(0)
    , m_x(FALSE)
    , m_Type(0)
{
}
一般语法为:

BOOL        m_x;          
long        m_Type
CSomeClass::CSomeClass() : m_var1(1), m_var2(2), m_var3(3)
{
}
其中,初始值设定项列表遵循
后的构造函数定义,变量名称-
m_var1
等在本例中-用逗号分隔,初始值放在括号中。与对话框一样,您也可以在初始值设定项列表中包含基类构造函数

BOOL        m_x;          
long        m_Type
对话框源代码中的布局只是将每个变量放在新行上

BOOL        m_x;          
long        m_Type