operator>> in eigenem Input Stream
-
Hi, ich habe mir eine eigene Input Stream Klasse geschrieben mit der man den Input filtern kann (z.B. nur Zahlen zulassen, nur Alphas etc.). Das einzige das partout nicht vom Compiler angenommen wird ist mein eigener operator>> und ich hab keine Ahnung warum nicht! Hier ein Beispiel zum Einlesen eines integers:
bool Input::operator>>(int& num){
...
}int main(){
Input in();
int num;
in >> num;
return 0;
}Compilerfehler: Error E2087 input.cpp 6: Illegal use of pointer in function main()
Weiß villeicht jemand von Euch wie ich das Problem beheben kann?
Beste Grüße,
Björn
-
edit: fehler nicht gesehen
-
bool Input::operator>>(int& num){ ... } int main(){ Input in; //<---- keine Klammern beim Default-Konstruktor, sonsta fasst ers als Funktionszeiger auf int num; in >> num; return 0; }
-
YASC schrieb:
... Input in; //<---- keine Klammern beim Default-Konstruktor, sonsta fasst ers als Funktionszeiger auf ... }
Nein, als Prototyp einer Funktion.
-
Diesmal merk ichs mir
-
das ist ein schöner fehler.