Behebung von C-Fehler 'false undeclared'

English Deutsch

Problem:

Du hast C-Code wie

main.c
bool mybool = false;

aber wenn du versuchst, es zu kompilieren, siehst du eine Fehlermeldung wie

false_undeclared_output.txt
main.c: In function ‘main’:
main.c:2:5: error: unknown type name ‘bool’; did you mean ‘_Bool’?
     bool mybool = false;
     ^~~~
     _Bool
main.c:2:19: error: ‘false’ undeclared (first use in this function)
     bool mybool = false;
                   ^~~~~
main.c:2:19: note: each undeclared identifier is reported only once for each function it appears in

Lösung

Add

main_fixed.c
#include <stdbool.h>

am Anfang der Quelldatei, wo der Fehler aufgetreten ist.

Der Grund für diesen Fehler ist, dass bool kein Standardtyp in C ist (wie int oder char), sondern nur in stdbool.h. Auch true und false werden in stdbool.h deklariert.


Check out similar posts by category: C/C++, GCC Errors