小编Pro*_*ysX的帖子

了解 test_function(Test<T>...) 的 C++ 可变数量的输入参数

我有一个通用类Test<T>,我想要一个函数test_function(),它具有可变数量的Test<T>对象输入参数,带有.... 在函数中,我想遍历所有参数。参数的泛型类型T可以不同。像这样的东西:

template <typename T> class Test {
private:
    T value = (T)0;
    int test = 1;
public:
    Test() = default;
    int get_test() {
        return test;
    }
}

template <typename T> void test_function(const Test<T> tests...) {
    for(auto test : tests) {
        cout << test.get_test() << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译时,我收到错误:

error C3520: "T": Parameter pack must be extended in this context
error C3520: "tests": Parameter pack must be extended in this …
Run Code Online (Sandbox Code Playgroud)

c++ templates variadic-templates

1
推荐指数
1
解决办法
61
查看次数

标签 统计

c++ ×1

templates ×1

variadic-templates ×1