プログラムの状態に応じて、同じ変数の2つの異なる値を必要とするプログラムがあります。
関数はヘッダー(test.inc)で宣言されています:
void function_a(int pr)
{
if (pr == 1)
enum{
a = 5,
b = 5,
c = 5,
};
else
enum{
a = 2,
b = 2,
c = 2,
};
}
そしてプログラム:(main.c)
int main() {
function_a(1);
printf("%d",a);
return (EXIT_SUCCESS);
}
コンパイルした後、次のように言います。
main.c:26:エラー: `a'が宣言されていません(この関数で最初に使用)
main.c:26:エラー:(宣言されていない各識別子は1回だけ報告されます
main.c:26:エラー:関数ごとに表示されます。 )。
ヘッダーにある関数の列挙型を使用してグローバル宣言を行う方法は?
ありがとうございました