the following virtual functions are abstract



  • Hi,

    ich portiere gerade ein Programm von VTK-4.2 nach VTK-5.0.
    Dabei bekomme ich folgenden Fehler:

    class vtkQGLRenderWindow : public vtkOpenGLRenderWindow, public vtkQGLPtrToQT	
    {
    public:
    	/* ------------------------------------------------------------
    	* Methods from vtkRenderWindow class.
    	*/
    	static vtkQGLRenderWindow *New()
    	{
    		return new vtkQGLRenderWindow() ;
    	};
    
    	// ...
    };
    

    In file included from vtkQGLRenderWindow.cc:43:
    vtkQGLRenderWindow.h: In static member function static vtkQGLRenderWindow* vtkQGLRenderWindow::New()': vtkQGLRenderWindow.h:25: error: cannot allocate an object of type
    vtkQGLRenderWindow'
    vtkQGLRenderWindow.h:25: error: because the following virtual functions are
    abstract:
    /home/karl/local/include/vtk/vtk-5.0/vtkWindow.h:64: error: virtual int*
    vtkWindow::GetScreenSize()
    /home/karl/local/include/vtk/vtk-5.0/vtkRenderWindow.h:112: error: virtual
    void vtkRenderWindow::Finalize()
    /home/karl/local/include/vtk/vtk-5.0/vtkRenderWindow.h:418: error: virtual
    void vtkRenderWindow::SetNextWindowId(void*)
    /home/karl/local/include/vtk/vtk-5.0/vtkRenderWindow.h:426: error: virtual
    void vtkRenderWindow::SetNextWindowInfo(char*)

    Scheinbar wurden die Funktionen in den Klassen virtuell angelegt, d.h. doch soviel wie: Ich muss diese Funktionen selber schreiben?

    Gruss, Karl



  • Karl Blau schrieb:

    Scheinbar wurden die Funktionen in den Klassen virtuell angelegt, d.h. doch soviel wie: Ich muss diese Funktionen selber schreiben?

    Richtig.
    Von diesen Methoden existiert in der Basisklasse nur die Schnittstelle - mit Funktionalität füllen mußt du sie selber (im Notfall als No-Op).



  • No-Op?

    "Nix-Tun-Ding"?



  • Karl Blau schrieb:

    No-Op?

    "Nix-Tun-Ding"?

    No-Op = "No Operation" 😉 (= leere Funktion)



  • Tschäkpott!
    Vielen Dank, jetzt gehts,

    KB


Anmelden zum Antworten