【初心者歓迎】C/C++室 Ver.17【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0270デフォルトの名無しさん
2005/05/18(水) 15:00:12とあるクラスをヘッダファイル(hoge.h)の中だけで全部インラインで書いてたのですが、
微妙なのでCPPファイル(hoge.cpp)を作ってそちらに実装を書き写したところ、
メンバにSTLのmapを使っているところでエラーが出まくりました。
環境はVisualC++6.0SP5です。
↓こんなかんじです
private:
map<unsigned short, FUGAGA> // 構造体FUGAGAを値、unsigned shortをキーとするmap
(略)hoge.h(333) : error C2143: 構文エラー : ';' が '<' の前に必要です。
(略)hoge.h(333) : error C2501: 'map' : 識別名を宣言するのに、型が指定されていません。
(略)hoge.h(333) : error C2059: 構文エラー : '<'
(略)hoge.h(333) : error C2238: ';' の前に不正なトークンがあります。
以下略...
ヘッダファイルだけでインラインで全部書いていたときは出なかったエラーなので
元に戻したら直ったのですが、
hoge.cppでたった一行
#include "hoge.h"
と書いただけで上記のエラーがずらーっと・・・・
(実装内容は全部ヘッダに戻したので実質hoge.cppには上記の一行しか書いてない状態)
mapのヘッダファイルはインクルードしてるし、#include "hoge.h"をコメントアウトしたら
ビルドに成功するので文法上の間違いとかではなさそうなのですが
原因が全く思いつきません・・・・
どなたか教えてください、よろしくお願いしますm(_ _)m
■ このスレッドは過去ログ倉庫に格納されています