1. ホーム
  2. C

エラー: 宣言されていない識別子 'bool' の使用と C コンパイラでの問題点

2022-02-19 01:44:38

今日、私はNucleus.comを使用して質問を磨くと、コンパイルすることができます多くのローカル問題は、Nucleus.comは、検証の結果、それはコンパイラの問題であり、長い開発の後にC言語、そこに多くの歴史的遺産の問題があることが判明した合格することはできませんでした。しかし、限り、それは一般的に多くの変更ではなく、先祖代々のコードは、唯一のvc + + 6.0とコンパイルすることができます先祖代々のコードではありません。

1 error: use of undeclared identifier 'bool' was only introduced in 1999, so it can be wrong in e.g. clang1.9 or gcc5.4 (which is used by a lot of cows on the web), you can add the header file.

#include <stdbool.h>

2 エラー:可変サイズオブジェクトが初期化されていない可能性があります。

理由:C言語では、配列の長さを定義するために変数を使用すると、配列は定義できても同時に初期化されず、後で代入する必要があることを意味します。

 この問題は、c++ではエラーになりません。

最後に、覚えておいてほしいことがあります。

bool a[5]={true}となります。

またはbool a[5]={1}とする。

ただし、a[0]が真であることを除く。

#include<stdio.h>

int main()
{
    bool a[5]= {true};
    for(int i=0; i<5; i++)
        printf("%d\n",a[i]);
    return 0;
}


<イグ

そして

bool a[5]={0}とする。

または

bool a[5]={false}とする。

では

ので、初期値がfalseのbool変数を使用して定義することが推奨されます。