2

Linux用にC99で書かれたライブラリをコンパイルしようとして、VC2010を使用しています。次の行でエラー C2275 が発生します: 'uint8_t' : この型を式として不正に使用しています

uint8_t * G = (uint8_t*)calloc(N ,sizeof(uint8_t));

サブヒント: stdint.h(21) : 'uint8_t' の宣言を参照してください。その行は次のとおりです。

typedef unsigned char uint8_t;

エラー C2065: 'G' : 宣言されていない識別子などの問題が蓄積されます。

4

1 に答える 1

5

同様の質問が既に回答されています: エラー C2275 : この型を式として不正に使用

回答: ソース ファイルに *.c という名前を付けると、MSVC は C をコンパイルしていると見なします。つまり、C89 です。すべての関数ローカル変数は、関数の先頭で宣言する必要があります。

- 関数の先頭ですべてのローカル変数を宣言/初期化する - ソース ファイルの名前を *.cpp または同等のものに変更し、C++ としてコンパイルします。

于 2012-06-08T15:36:33.260 に答える