VC6でテンプレート
VC6にてテンプレート関数を作っていたところ、どうしてかerror C2893:になりコンパイルが通らない。
class a { template <class Array> int hoge(Array **array); }; template <class Array> int a::hoge(Array **array) { }
いろいろ調べたところ、クラスの定義に関数を埋め込んでやらないといけないVC6の腐った仕様のようだ。
gccでは問題ない。
クラスの定義に関数のコードを埋め込むと、可読性が著しく落ちるので、テンプレートはあきらめた。