作者:bb | 来源:互联网 | 2023-01-01 15:01
我在View类的声明处添加了一个private的CRectrect1对象。然后我在View类的构造函数中rect1(0,0,100,100);为什么提示出错呢?而我要rect1.left0;re
我在View类的声明处添加了一个private的CRect rect1对象。然后我在View类的构造函数中rect1(0,0,100,100);为什么提示出错呢? 而我要rect1.left=0;rect1.top=0,....这样才能通过。
为什么啊? 而我在函数体内写CRect rect1(0,0,100,100); 就没有问题,怎么回事呢?
6 个解决方案
CYourView::CYourView(...)
: rect1(0,0,100,100)
{
...
}
构造函数中rect1 = CRect(0,0,100,100);
这样写才可以,或者
上面说得
CYourView::CYourView(...)
: rect1(0,0,100,100)
{
...
}
View类的构造函数中:
rect1 = CRect(0,0,100,100);
而我在函数体内写CRect rect1(0,0,100,100); 就没有问题,怎么回事呢?
那是你重新定义并初始化了一个局部的rect1。
CYourView::CYourView(...)
: rect1(0,0,100,100)
{
...
}
--------------------------
顶.这种写法效率最高.