そのため、継承したコードに問題があります。このコードは、C のみの環境で正常にビルドされていましたが、C++ を使用してこのコードを呼び出す必要があります。ヘッダーproblem.h
には次が含まれます。
#ifndef _BOOL
typedef unsigned char bool;
static const bool False = 0;
static const bool True = 1;
#endif
struct astruct
{
bool myvar;
/* and a bunch more */
}
C++ コードとしてコンパイルすると、error C2632: 'char' followed by 'bool' is illegal
#include "problem.h"
inをラップすると同じエラーが発生します ( C としてコンパイルするときにextern "C" { ... }
キーワードがないはずなので、わかりませんか?)bool
からブロックを削除し、C++ としてコンパイルしようとし#ifndef _BOOL
まし#endif
たが、エラーが発生しました。
error C2061: C requires that a struct or union has at least one member
error C2061: syntax error: identifier 'bool'
C++ コンパイラが の再定義について不平を言う方法を理解していませんが、再bool
定義を削除してbool
変数を定義するために使用しようとすると、何も見つかりません。
どんな助けでも大歓迎です。