typedef funzt net!
-
hallo,
wenn ichtypedef int bool;
schreibe, meckert mein compiler:
error, two or more datatypes in declaration specifiers
was tun?
-
hat sich erledigt, habe #include <curses.h> und da ist schon bool drin.
-
Einen Bool würde ich auch so definieren:
#ifndef bool typedef enum {false, true} bool; #endif
false bekommt implizit den Wert 0, true den Wert 1.
-
das geht aber nur, wenn bool ein Makro ist. Wenn aber bool bereits durch typedef 'erzeugt' wurde, kommt dieselbe Fehlermeldung.
Dagegen hilft nur, dass man sich über die Datentypen informiert, die die verwendeten Bibliotheken exportieren. Und wenn man (z.b.) weiß, dass ncurses bereits ein bool hat, dann kann ich das nicht "überschreiben".
-
Einen Bool würde ich auch so definieren:
(...)Ich eher so:
#include <stdbool.h>
-
"stdbool.h"? Mein System kennt die gar nicht ... Visual Studio 2008 Professional^^
-
"stdbool.h"? Mein System kennt die gar nicht ... Visual Studio 2008 Professional^^
Microsoft mag bekanntlich C99 nicht.
Siehe aber: man: stdbool.h.
Oder gleich im Standard: unter 7.16.