模板命名构造函数struct省略typename

时间:2014-12-03 18:06:32

标签: c++ templates c++11

我有一个类似

的课程
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因为我不喜欢它?

0 个答案:

没有答案