どうにもうまくいかないところがあったので、質問させてもらいました。
分割コンパイルを使ってプログラムを作るときに、グローバル変数を使いのですが
それぞれのソースファイルで変数を共有することができません。
ヘッダファイルを用意し、そこで定義してそれぞれのソースファイルでインクルード
してみたのですが、「変数はすでに定義されています」というエラーがでてしまいました。
インクルードガードという方法を試してみたのですが、うまくいきません。
対処法を教えていただけないでしょうか。
実際に動かしてみたプログラムは下のものです。
具体的には、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