Neudefinitionsfehler bei virtuellen Ereignisfunktionen mit WXWidgets
Posted: 18 Aug 2025, 23:48
I Obwohl eine virtuelle Funktion die Implementierung liefert, falls in der Quelldatei keine andere Funktion definiert ist. Ist nicht so? Ich habe das mit open_clients_window im folgenden Code ausprobiert, aber der Compiler klagte über eine Neudefinition.
Erwartete, dass der Fehler verschwindet, da die Definition nicht duplizieren sollte
Code: Select all
#ifndef MAINSCREEN_HPP
#define MAINSCREEN_HPP
#include ...
class MainScreen : public wxFrame
{
private:
protected:...
// Virtual event handlers, override them in your derived class
virtual void open_clients_window( wxCommandEvent& event ) { event.Skip(); }
public:
MainScreen( wxWindow* parent,...
< /code>
Klasse mainscreen.cpp < /p>
#include "MainScreen.hpp"
const int BTN_CLIENTS_ID = 1;
MainScreen::MainScreen( wxWindow* parent, ...
// Connect Events
btn_clients->Bind(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainScreen::open_clients_window ), this, BTN_CLIENTS_ID);
}
void MainScreen::open_clients_window( wxCommandEvent& event ) {
std::cout
Ich habe es versucht: < /p>
#pragma once
< /code>
und < /p>
#ifndef MAINSCREEN_HPP
#define MAINSCREEN_HPP
..
#endif