小编Pre*_*fee的帖子

我的班级的可变参数模板构造函数无法修改我的班级成员,为什么呢?

我一直在从事教授所完成的任务,在该任务中,我必须解决可变参数模板类。问题是,我无法在递归构造函数中修改类成员。我不知道为什么会这样,一旦进入下一个构造函数调用,它将丢弃我对变量的更改。

我尝试过的

  • 使用指针int* count代替int count

  • 使用设置器来设置 counter

我已经在Google搜寻了几个小时,但找不到解决方法。

头文件“ test.h”:

#include <cstdarg>
#include <iostream>

class Counter {
private:
    int count = 0;
    int tmp;

public:
    template <typename... Rest> Counter (int t, Rest... rest) {
        count++;
        std::cout << "start recursive number " << count << "...\n";
        Counter(rest ...);
        tmp = t;
        std::cout << "end recursive number " << count << "...\n";
    }
    Counter (int t) {
        count++;
        tmp = t;
        std::cout << "reached end of recursive ->  " …
Run Code Online (Sandbox Code Playgroud)

c++ recursion variadic-templates c++11

20
推荐指数
2
解决办法
660
查看次数

标签 统计

c++ ×1

c++11 ×1

recursion ×1

variadic-templates ×1