ここから本文です

複数のヘッダーファイルと1つのcppファイルがあります。 あるグローバル変数(や...

caf********さん

2017/6/2818:49:35

複数のヘッダーファイルと1つのcppファイルがあります。

あるグローバル変数(や配列)を複数のヘッダーファイルとcppファイルで共有したいです。

material.h

#ifndef HOGE_H
#define HOGE_H
int a;//共有したいグローバル変数
int b;//共有したいグローバル変数
int c[10]://共有したいグローバル変数
#endif // HOGE_H

int material(){
int i;
a=5;
b=4;
for(i=0;i<10;i++){
c[i]+=a+b;
}
}

//main.cpp

#Include "material.h"

int main(){

int i;

for(i=0;i<10;i++){
c[i]=i+1;
}

}

といった具合です。擬似コードはこんな感じです。

ビルドすると、c2084エラーとなり、int material()は既に本体をもっています。と出てきます。

どうすればいいか教えてくれませんか?

閲覧数:
25
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nak********さん

編集あり2017/6/2818:55:38

ヘッダー内に実体を置いてはそんなトラブルになる。
int a や materila() はcppソースに。
何故にヘッダーにプログラムを書くのかわからないけど、、、、#include はそこに取り込むのだから、、、

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/6/28 19:44:20

externを消したら解決しました。ありがとうございました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる