调用在另一个成员函数中使用类属性的成员函数

时间:2019-11-07 21:51:52

标签: c++

我有一个成员函数,该成员函数调用另一个成员函数,其中我使用类的私有属性,并且它将指向类的另一个指针作为参数。

现在,我要访问类的属性,并在计算后将它们复制到我作为参数使用的另一个对象指针。解释时有点混乱,但是我相信这是一个简单的代码。但是,当我尝试达到班级的属性时,我会遇到“细分错误”。代码如下:

在我的图像类中:

Image *Image::new_gray(int width, int height)
{
        return new Image(width, height, 1);
}

void Image::box_filter_x(Image *buffer, int n)
{
        printf("in box x func.\n");

        printf("%d\n", m_width);  
//m_width is class attribute. here i get segmentation fault and
//rest of the code doesn't run, obviously.

        printf("m_width read, calculating further.\n");
        ....
        buffer->m_width = m_width;
        ....
}


void Image::box_filter(Image *dst, int n)
{

        printf("%d\n", m_width);
//this works as expected.

        box_filter_x(dst, n);
//this is where i call my function.

}

我正在测试的另一个文件中的main函数内部:

int main(int argc, char** argv)
{
        Image* gray = Image::new_gray(128, 128);
        ...
        Image* gray1 = Image::new_gray(128, 128);
        ...
        gray->box_filter(gray1, 3);
}

我尝试了this->box_filter_x(dst,n);,但这也不起作用。 请帮助。

0 个答案:

没有答案