2017-02-27 159 views
1

我有以下代码:vtkStandardNewMacro给出错误C4430:缺少类型说明

#include <vtkInteractorStyleTrackballCamera.h> 

class InteractorStyle : public vtkInteractorStyleTrackballCamera 
{ 
    public: 
     static InteractorStyle* New() {}; 
     vtkTypeMacro(InteractorStyle, vtkInteractorStyleTrackballCamera); 
     InteractorStyle() { 
      cout << "test"; 
     } 
     virtual void OnLeftButtonDown(); 

     virtual void OnKeyPress(); 

    private: 

}; 
vtkStandardNewMacro(InteractorStyle); //error here 

void InteractorStyle::OnLeftButtonDown() 
{ 
    std::cout << "test"; 
    // Forward events 
    vtkInteractorStyleTrackballCamera::OnLeftButtonDown(); 
}; 
void InteractorStyle::OnKeyPress() 
{ 
    // Get the keypress 
    vtkRenderWindowInteractor *rwi = this->Interactor; 
    std::string key = rwi->GetKeySym(); 

    // Output the key that was pressed 
    std::cout << "Pressed " << key << std::endl; 
    // Forward events 
    vtkInteractorStyleTrackballCamera::OnKeyPress(); 
}; 

即使我跟随tutorial,它总是给我下面的错误vtkStandardNewMacro(InteractorStyle);

错误C4430:失踪类型说明符 - int假定。注:C++不支持 default-int

如何解决这个问题?

+0

此错误可能意味着您缺少一些标题。 – AMA

+1

@AMA谢谢..我必须添加'#include ' –

回答

4

所有你需要添加的是#include <vtkObjectFactory.h>。该教程从未明确提到过,太糟糕了。

相关问题