模板化类中参数包的语法

Ano*_*ity 0 c++ templates

我有一个模板化的类,我想给出一个参数包类型方法,如下所示:

template<class T>
class MyClass {
public:
    template<class U>
    add(U u) {}

    template<class U, typename... Args>
    add(U u, Args... args) {
    }
};
Run Code Online (Sandbox Code Playgroud)

请注意,TU始终是相同的类型.

我的问题很简单:是否有可能直接引用T而不是U在这种情况下?我的工作是什么,但如果我T直接提到的话会更清楚意图是什么.

Rei*_*ica 7

如果我理解正确,你只需要这样:

template<class T>
class MyClass {
public:
    add(T t) {}

    template<typename... Args>
    add(T t, Args... args) {
    }
};
Run Code Online (Sandbox Code Playgroud)

请注意,这与您所拥有的不同:您的原始代码接受任何类型作为第一个参数add,而此代码仅接受a T.