私はvariables.hという名前のヘッダーファイルでいくつかの外部変数を次のように定義しました:
#ifndef VARIABLES_H
#define VARIABLES_H
extern int var1;
extern int var2;
#endif
次に、それをソースファイルに追加します。
コンパイラは私に次のように警告します:
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘var1’
これはすべての変数で発生し、最後の変数で終了します。
何が問題ですか?
エラーは、すべての変数のvariables.hに表示されます。
file.h:
#ifndef FILE_H
#define FILE_H
void do_sth(void);
void do_sth_else(void);
#endif
file.c:
#include "variables.h"
/* Quit */
void do_sth(void) {
/* do sth */
}
void do_sth_else(void) {
/* do sth else */
}
それで全部です。エラーは次のとおりです。
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘var1’
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘var2’