提示this只能用于非静态成员函数内部?

void ImageProcess_Bz(int T)
{
unsigned char*p_data;
int width, height;
p_data = this->Getdata();
width = this->Getwidth();
height = this->GetHeight();
for(int j=0;j for (int i = 0;i {
if (*p_data > T) //if(*p_data!=0) *p_data=255;
*p_data = 255;

        else
            *p_data = 0;

        p_data++;
    }

}

3个回答

   是的,this指代当前对象,只有访问对象的属性和方法用this才有意义,即非静态方法和属性才是实例对象才拥有的。而静态成员和方法是通过类名来访问的,即类的成员和方法。应该很好理解的,静态方法和变量是所有类的实例共享的,是类的东西,不需要实例化就能直接访问的,当然没有必要使用对象的this了。这是面向对象语言的语法规定。

一般遇到这种问题,记得给函数加上作用域

没人回答吗

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问