どうにもうまくいかないところがあったので、質問させてもらいました。
分割コンパイルを使ってプログラムを作るときに、グローバル変数を使いのですが
それぞれのソースファイルで変数を共有することができません。
ヘッダファイルを用意し、そこで定義してそれぞれのソースファイルでインクルード
してみたのですが、「変数はすでに定義されています」というエラーがでてしまいました。
インクルードガードという方法を試してみたのですが、うまくいきません。
対処法を教えていただけないでしょうか。
実際に動かしてみたプログラムは下のものです。
具体的には、aという変数をmain.cppとsub.cppの両方で使う方法を知りたいということです。
よろしくおねがいします。
// main.cpp #include "stdio.h" #include "ren.h" int main (){ printf ("%d\n", a); sub(); return 0; } // sub.cpp #include "stdio.h" #include "ren.h" void sub () { printf ("sub %d\n",a); } // ren.h #ifndef REN_H #define REN_H int a; void sub(); #endif