C++模板:好的VC2005SP1,gcc拯救了吗?

1 gcc templates visual-c++

我很困惑,请求你的帮助.VC2005SP1吞下这个(剥离的)代码,但是gcc 4.0.1拯救了...请指出我明显的错误?TIA!

template<typename BCT, typename UIDT>
class Factory
{
public:
    template<typename CT>
    bool Register(UIDT UniqueID)
    {
        if (UniqueID > 10)
            return(false);

        CreateObject2<BCT, CT>;

        return(true);
    }
};


template <typename MC, typename MT>
class Manager : public Factory<MC, MT>
{
public:
    bool RegisterType(const MT Type, const std::string TypeName)
    {
        return Factory<MC, MT>::Register<MC>(Type); // gcc claims "expected primary-expression before '>' at this point
    }
};
Run Code Online (Sandbox Code Playgroud)

Log*_*ldo 5

VS很善良.

return Factory<MC, MT>::template Register<MC>(Type); 应该在两个编译器下工作.