Gast
2005-11-20, 17:42:39
hallo, ich hab grad was herausgefunden.
hier ein beispiel makro:
#define ABS(x) ((x) < 0) ? -(x) : (x)
sehr einfach, macht den parameter positiv.
das rufe ich jetzt folgendermassen in meinem cpp programm auf:
cout << ABS(-5) << endl;
ergebnis sollte logischerweise "5" sein.
allerdings bekomme ich einen compilerfehler:
test.cpp:5: error: invalid operands of types `int' and `<unknown type>' to binary `operator<<'
den compilerfehler verstehe ich nicht so ganz ... irgendwie liegts wohl am "<<" operator, denn eine klassische C funktion funktioniert problemlos damit.
printf("%d\n", ABS(-5));
kann mir jemand den fehler erklären? mein compiler ist btw der g++
hier ein beispiel makro:
#define ABS(x) ((x) < 0) ? -(x) : (x)
sehr einfach, macht den parameter positiv.
das rufe ich jetzt folgendermassen in meinem cpp programm auf:
cout << ABS(-5) << endl;
ergebnis sollte logischerweise "5" sein.
allerdings bekomme ich einen compilerfehler:
test.cpp:5: error: invalid operands of types `int' and `<unknown type>' to binary `operator<<'
den compilerfehler verstehe ich nicht so ganz ... irgendwie liegts wohl am "<<" operator, denn eine klassische C funktion funktioniert problemlos damit.
printf("%d\n", ABS(-5));
kann mir jemand den fehler erklären? mein compiler ist btw der g++