>>468
class ABC32;
という前方宣言がおかしい。
ABC32はクラスじゃない。

template<typename T> class ABC; //ABCの前方宣言
typedef ABC<long> ABC32; //ABC32の別名定義