void ?
-
eine frage : was sollte ich machen, damit eine subfunktion meines c++ programmes auch mit :
" void ClToken::druckeToken(void) "richtig funktioniert, statt von :
" void ClToken::druckeToken(
int ebene) "wobei die variable "ebene" INT ist und den wert 1 (eins) vom main programm bekommt.
die funktion wurde als : "void druckeToken(int ebene);" bei der definition der klasse deklariert.
also : ebene muss statt mit INT auch mit void funktionieren !! ?
wie ??
vielen dank !!
-
Du sprichst in Rätseln
wenn du eine Function mit foo(int bla) deklarierst
erwartet diese einen int wert als parameter.
deklarierst du sie mit foo(void) erwartet sie keine
parameter.Wenn du willst das es auch mit void funktionierst
musst du die Funktion eben überladen, was wenn du
den Quellcode zur Klasse hast kein Problem sein sollte.
Am besten definierst du dann für die Funktion
einen default-Wert wenn das sinnvoll ist.
-
vielleicht mit nem deaultwert:
void ClToken::druckeToken(int ebene=1)wenn du nun
C1Token.drucketoken();schreibst wird einfach als wert 1 angenommen.
Suchst du sowas?
-
Storm.Xapek.de schrieb:
Wenn du willst das es auch mit void funktionierst
musst du die Funktion eben überladen, was wenn du
den Quellcode zur Klasse hast kein Problem sein sollte.Wenn man eine andere Funktion mit anderen Parametern macht, dann hat das nichts mit überladen zu tun.
-
begin of void schrieb:
Storm.Xapek.de schrieb:
Wenn du willst das es auch mit void funktionierst
musst du die Funktion eben überladen, was wenn du
den Quellcode zur Klasse hast kein Problem sein sollte.Wenn man eine andere Funktion mit anderen Parametern macht, dann hat das nichts mit überladen zu tun.
Hab auch nie behauptet das er das machen soll.
Ich hab gesagt er soll die Funktion überladen.
Also die gleiche Funktion (gleicher name) mit
unterschiedlichen ParameternzB.
class Window
{
void SetData();
void SetData(char*);
void SetData(char*,int);
....
};
~(Quelle http://www.cpp-tutor.de/cpp/le12/le12_01.htm)~