模板是用来产生类型的,模板本身并不是类型。

template<typename T, typename U>
class MagicType {
public:
    T dark;
    U magic;
};

// 不合法
template<typename T>
typedef MagicType<std::vector<T>, std::string> FaleDarkMagic;

这里我们直接用using就行了。