私はos161プロジェクトに取り組んでいます。src / kern/includeにあるarray.h提供を含むファイルを作成します。コンパイルすると、次のようなエラーが発生しました:./../include/array.h:85:error:expected'='、'、'、';'、'asm' or'attribute' before'unsigned ' ../../include/array.h:91:エラー:「void」の前に「=」、「、」、「;」、「asm」または「属性」が必要です
コードは次のようなものです。
#ifndef ARRAYINLINE
#define ARRAYINLINE INLINE
#endif
ARRAYINLINE unsigned --------------line 85 error
array_num(const struct array *a)
{
return a->num;
}
ARRAYINLINE void * --------------line 91 error
array_get(const struct array *a, unsigned index)
{
ARRAYASSERT(index < a->num);
return a->v[index];
}
そして、すべての行で発生したこの種のエラーには、INLINEやARRAYINLINEのようなものがあります。このarray.hファイルは提供されており、変更はしていません。本当に理由を理解することはできません。