vtkSmartPointerBase中Register出现读取访问权限冲突异常解决

VTK常见异常:运行时vtkSmartPointerBase中的Register函数出现读取访问权限冲突异常解决

图片描述:

在这里插入图片描述

出错位置:

这个问题出现在函数的返回值处。
例如:

vtkPolyData* function()
{//情形1:vtkNew<vtkTriangleFilter> data;...vtkPolyData* output = data->GetOutput();return output;//情形2:vtkSmartPointer<vtkTriangleFilter> data =vtkSmartPointer<vtkTriangleFilter>::New();...vtkPolyData* output = data->GetOutput();return output;
}

出错原因:

函数体中如果要返回Filter的输出vtkPolyData数据的话,如果Filter是用智能指针(vtkNew和vtkSmartPointer)声明的,就会出现这个错误。

解决方法:

需要作为函数输出的Filter不要使用智能指针来声明,修改如下:

vtkPolyData* function()
{//修改方法:vtkTriangleFilter* data = vtkTriangleFilter::New();...vtkPolyData* output = data->GetOutput();return output;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部