非静态成员函数的非法调用
我写了一个namespace 封装到DLL中 在里面添加了一个类 如下
namespace DrawSpace
{
class AFX_EXT_CLASS CSkinBaseDraw
{
public:
void Draw(CBitmap *pBitmap, CDC *pDC, CPoint pt);
}
}
但是我在工程中加入了头文件 并
using namespace DrawSpace;
BaseDraw::CSkinBaseDraw::Draw(&m_bit,&dc,CPoint(0,0));
会提示"非静态成员函数的非法调用"
问题:我想知道为什么会这样,产生的原因是什么.什么情况会出现这种情况. 请说明原理. 而不是加上static的问题 ,明白后立即给分.
namespace DrawSpace
{
class AFX_EXT_CLASS CSkinBaseDraw
{
public:
void Draw(CBitmap *pBitmap, CDC *pDC, CPoint pt);
}
}
但是我在工程中加入了头文件 并
using namespace DrawSpace;
BaseDraw::CSkinBaseDraw::Draw(&m_bit,&dc,CPoint(0,0));
会提示"非静态成员函数的非法调用"
问题:我想知道为什么会这样,产生的原因是什么.什么情况会出现这种情况. 请说明原理. 而不是加上static的问题 ,明白后立即给分.
...全文
相关推荐
C++中静态成员函数访问非静态成员的实例
主要介绍了C++中静态成员函数访问非静态成员的实例的相关资料,需要的朋友可以参考下
C++ 中的this指针详解及实例
主要介绍了C++ 中的this指针详解及实例的相关资料,this指针是类的一个自动生成、自动隐蔽的私有成员,它存在于类的非静态成员中,指向被调用函数所在的对象。需要的朋友可以参考下
C++ 静态成员的类内初始化详解及实例代码
主要介绍了C++ 静态成员的类内初始化详解及实例代码的相关资料,需要的朋友可以参考下
1-this.docx
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。
c++习题(程序编写).docx
。


