Kann ich Elementfunktionen überladen,die sich nur durch einen Aufzälungstyp in den Parametern unterscheiden ?[gelöst]
-
Hallo,
Ich habe eine Klasse mit 2 Methoden, deren Parameter sich nur durch unterschiedliche Aufzählungstypen (enum) unterscheiden.enum Tcm_command { cmd_stop, //switch to etablished state cmd_listen, //switch to listening state cmd_disconnect ,//close the connection,the connection is disconnected cmd_connect,//connects to remote host cmd_req_reg,//reqire registration cmd_destroy, //destroys the Tconnection-object }; Q_DECLARE_METATYPE(Tcm_command); enum Tcm_server_interface_command { cmd_stop_listening,//switch to etablished state cmd_listen_at,//orders a serverinterface to an ip-address cmd_reconfig_server_interface //reconfigures the server interface via Tserver_interface_info }; Q_DECLARE_METATYPE(Tcm_server_interface_command);
Die Methoden:
bool command(Tcm_command,QVariant,QString); bool command(Tcm_server_interface_command,QVariant,QString);
Kann man diese Methoden einfach überladen ?
Oder gibt es nicht vorhersehbare Probleme ?Der Compiler (gcc) übersetzt es anstandslos.
Der Editor von Qt-Creator verweist mich beim "Wechseln zur Deklaration" grundsätlich an die zuerst deklarierte Methode.Vielen Dank für eure Antworten.
/edit pumuckl: cpp-Tags
-
Bronski schrieb:
Kann man diese Methoden einfach überladen ?
Die beiden Enums sind unterschiedliche Typen -> Überladen geht.
Der Editor von Qt-Creator verweist mich beim "Wechseln zur Deklaration" grundsätlich an die zuerst deklarierte Methode.
Dann hat der Qt-Creator da wohl ein Problem. (Und du wauch weil du ein fehlerhaftes Tool benutzt )
-
Vielen Dank, für die schnelle Antwort.
Ich hatte schon befürchtet, dass er(der Compiler) die beiden Aufzählungstypen intern in integer umwandelt und dann durcheinander kommt.Mfg
Bronski