【发布时间】:2021-04-01 04:00:14
【问题描述】:
所以,正如标题所说,我似乎无法在 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 文件),我可以在同一类的其他成员函数中使用它.
【问题讨论】:
-
int x1 = 0;这在构造函数中定义了一个局部变量x1。要使其可用于其他方法,请将其定义为CMFCApplication1View类中的成员变量。 -
了解变量范围。
-
嗨,是的,很抱歉,当我第一次写这个问题时,我在想一件事,却完全写了另一件事。抱歉,我现在改变了问题。
-
了解class member variables。你的班级是
CMFCApplication1View,你想给它添加一个成员变量。它是一个 MFC 类这一事实没有任何意义,它仍然只是一个类。
标签: c++ visual-c++ mfc