自己写了一个类,其中一个成员函数为void Display(CPen pen)。没有调用到这个函数的时候编译没有问题。当在程序中加入这个函数的调用this->Display(pen)的时候出错,错误代码为:error C2248:“CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)。
请各位高手为我解惑
补充一下,这个是个MFC应用程序,我是用VS2008编程的,调用函数代码为:
CTest t;
CPen pen(PS_SOLID, 1, RGB(255,0,0));
t.Display(pen);
一楼的回答我试过了,把这个自定义类改成继承CWnd以后还是会出错,新建一个继承自CWnd的类写一个Display(CPen pen)函数以后调用的时候也会出错。
补充下二楼的问题。这里的CPen不是其他类的私有成员变量。在Display函数定义的时候没有出错,只在调用函数的时候才出错的,其他地方也没有用到过这个pen变量。
三楼的回答我试过了,引入头文件以后还是出错的。而且我想,如果是没有引入头文件才出错的话声名的时候就应该报错啊,因为无法识别CPen是一个类。
四楼的回答是正解,各位看到的可以了解一下。
动漫人物
手掌心