gcc 4.0.0
MSVC で開発した template を使ったコードを gcc に食わせたら、たくさんエラーをはいてくれた。修正方法を調べなければ....。
template <typename T> class Hoge { public: typedef std::map<int id, int data> IntMap; IntMap& Map(); private: IntMap m_map; } template <typename T> Hoge<T>::IntMap& Hoge<T>::Map() { return m_map; }
こんなのを MSVC は通してしまって、gcc 4.0.0 は constructor がどーのこーのというエラーを返す。class 宣言の中で
IntMap& Map() { return m_map; }
とする分には文句いわないんだけど。