我有一个类似
的课程template <typename T> class CClass
{
public:
struct NamedCtor;
CClass(T a, T b, T c);
private:
// data members
};
tepmlate <typename T> CClass<T>::NamedCtor : CClass<T> { NamedCtor(T x) : CClass(x, x, x) {}; };
使用CClass<T>::NamedCtor()
作为命名构造函数。
如果在使用CClass<int>::NamedCtor(3)
时知道模板参数,则此功能非常有用。
但如果我在这里不知道模板参数,例如当我在模板函数中时,我必须使用函数的模板参数typename CClass<T>::NamedCtor(3)
编写类似T
的内容。 / p>
有没有办法绕过这个typename
因为我不喜欢它?