- 501 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 11:48:47 ID:sAmmpMO4]
- >>498
> //* const.h > class global{ > public: > static char c[64]; > static std::string msg; > }; > > //* const.cpp > char * global::c = 0; > std::string global::msg = ""; こうではなくて、こちらが正しい。 //* const.h class global{ public: static char c[64]; static std::string msg; }; extern char * global::c; extern std::string global::msg; //* const.cpp char * global::c = 0; std::string global::msg = ""; つまり、ヘッダファイルに記述するのは 変数や関数、クラスの宣言であって、定義ではない。 これはBorland C++でも問題が出たと思うぞ。 多分Borland C++でコンパイルした時は複数のcppファイルで ヘッダファイルをインクルードしていなかったから問題が起こらなかったのだろう。
|

|