C言語で真偽値を格納するbool型を宣言しようとするとエラーになって変数を宣言できないことがあります。
これはstdbool.hをインクルードしていないことが原因です。C言語でbool型を使用する場合は以下のようにbool型の宣言を行う前にインクルードしましょう。
#include<stdbool.h>
int main() {
bool a;
return 0;
}
C++では言語仕様としてbool型が用意されていますが、C言語だと言語仕様として用意されていないため上のコードのようにstdboolヘッダをインクルードしないとエラーになるのです。
C++コードとしてコンパイルする場合はstdbool.hなしでbool型の変数を宣言できます。