所以,就像标题所说的那样,我似乎无法在mfc应用程序中使用构造函数中初始化的变量。
// CMFCApplication1View construction/destruction
CMFCApplication1View::CMFCApplication1View() noexcept
{
// TODO: add construction code here
int x1 = 0;
}
但当我在onDraw
方法中使用这些变量时,它会给出未定义的错误
void CMFCApplication1View::OnDraw(CDC* pDC)
{
CMFCApplication1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
pDC->Rectangle(20+x1, 30, 100+x1, 120); //<- error here
}
编辑:
好的,所以我问这个问题的方式完全错误,我实际上想问的是如何在MFC应用程序(特别是CMFCApplication1View.cpp
文件(中声明成员变量,我可以在同一类的其他成员函数中使用这些变量。
您可能有一个类似MFCApplication1View.h的文件。您的类将在该文件或类似名称的文件中声明。在头文件中找到类声明,并进行如下修改:
class CMFCApplication1View
{
// ... other stuff
int x1;
};
您甚至可以在头文件中初始化它,而不是在构造函数中初始化它(这是上面的替代,而不是添加(:
class CMFCApplication1View
{
// ... other stuff
int x1 = 0;
};