7

元はCで記述されたヘッダーを C++ プロジェクトに含める必要があります。ヘッダー ファイルでrestrictキーワードが使用されているため、C++ の構文エラーが発生します。

restrictC++ コンパイラでコンパイルしているかどうかをチェックし、この場合はキーワードを削除するプリプロセッサ マクロを探しています。

4

1 に答える 1

10
#ifdef __cplusplus
#define restrict
#endif

するべきです。restrictは C++ のキーワードではないため、#define何も指定しないことは問題ありません。

または、アルネ・メルツが示唆したように、さらに良いのは、

extern "C" {
#define restrict
// include C headers here
#undef restrict
}

C++ ソースに C ヘッダーを含めます。

于 2012-11-26T14:25:24.610 に答える