zoukankan      html  css  js  c++  java
  • vtkStandardNewMacro()出现错误的问题

    自己实现一个继承vtk的类时

    要使用

    vtkStandardNewMacro()

    如果全部类直接在头文件中实现,然后最后加上

    vtkStandardNewMacro()这句 会出现编译出错,例如参数不匹配

    解决办法:

    vtkStandardNewMacro()是用在源文件中的  放在实现中才不会出错。

    例子如下:

    头文件:

    #pragma once
    #include"stdafx.h"
    #include<vtkInteractorStyleImage.h>
    //#include<vtkObject.h>
    #include <vtkObjectFactory.h>

    class VTK_EXPORT BMPInteractorStyle : public vtkInteractorStyleImage
    {
    public:
    static BMPInteractorStyle* New();
    vtkTypeMacro(BMPInteractorStyle, vtkInteractorStyleImage);

    virtual void OnLeftButtonDown();

    };

    源文件:

    #include"stdafx.h"
    #include"BMPInteractorStyle.h"

    vtkStandardNewMacro(BMPInteractorStyle);
    void BMPInteractorStyle::OnLeftButtonDown()
    {
    //std::cout << "Pressed left mouse button." << std::endl;
    // Forward events
    vtkInteractorStyleImage::OnLeftButtonDown();
    }

    这样编译就不会出错了

  • 相关阅读:
    ruby学习系列(1)
    学习调用WCF服务的各种方法
    Web Service简介
    ajax编程
    ReportView控件的使用
    .NET中26个优化性能方法
    图书管理前端页面
    图书管理后端接口
    Vue组件
    axios登录前端
  • 原文地址:https://www.cnblogs.com/qwcbeyond/p/3111620.html
Copyright © 2011-2022 走看看