ご報告ありがとうございます
ポンのプログラムを VisualC++ 2005 でコンパイルすると発生するエラーは修正しておきました
本題のサルアさんのプログラムで発生しているエラーですが、エラー文の通り
int atai や int i が graph.cpp と jiki.cpp どちらでも定義されている、等の多重定義エラーです
もしかするとヘッダファイルに extern を付けないで実体を定義してしまっているのではないでしょうか?
------------------
エラーが発生する例
------------------
hedder.h ===============
int i ;
int atai ;
int tashizan( int a, int b ) ;
========================
main.cpp ===============
#include <stdio.h>
#include "hedder.h" // ←ここで i, atai の実体が定義される
void main( void )
{
printf( "%d", tashizan( 10, 20 ) ;
}
========================
sub.cpp ================
#include "hedder.h" // ←ここでも i, atai の実体が定義されてしまう、エラー
int tashizan( int a, int b )
{
return a + b ;
}
========================
------------------
エラーが発生しない例
------------------
hedder.h ===============
extern int i ; // ← extern を付けて「どこかに実体があるから使うよ」という指定にしておく
extern int atai ; // ← extern を付けて「どこかに実体があるから使うよ」という指定にしておく
int tashizan( int a, int b ) ;
========================
main.cpp ===============
#include <stdio.h>
#include "hedder.h"
int i ; // ← 実体( extern をつけない )はここで定義しておく
int atai ; // ← 実体( extern をつけない )はここで定義しておく
void main( void )
{
printf( "%d", tashizan( 10, 20 ) ;
}
========================
sub.cpp ================
#include "hedder.h"
int tashizan( int a, int b )
{
return a + b ;
}
========================