qq_34614890
betterhalf
采纳率15.4%
2016-05-08 08:15 阅读 7.0k

提示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条回答 默认 最新

  • wojiushiwo945you 毕小宝 2016-05-08 09:19
       是的,this指代当前对象,只有访问对象的属性和方法用this才有意义,即非静态方法和属性才是实例对象才拥有的。而静态成员和方法是通过类名来访问的,即类的成员和方法。应该很好理解的,静态方法和变量是所有类的实例共享的,是类的东西,不需要实例化就能直接访问的,当然没有必要使用对象的this了。这是面向对象语言的语法规定。
    
    点赞 3 评论 复制链接分享
  • qq_34614890 betterhalf 2016-05-08 08:47

    没人回答吗

    点赞 评论 复制链接分享
  • m0_37767371 苏家不二饮 2020-04-16 10:43

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

    点赞 1 评论 复制链接分享

相关推荐