如何在 C++ 中以相反顺序递归打印集合?

How to print a set in reverse order recursively in C++?

我已尝试使用以下代码以相反的顺序打印 std::set<int>

#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <list>
#include <map>
#include <utility>
#include <set>
#include <stack>

using namespace std;

void setRecursivePrinting(set<int> s, set<int>::iterator it)
{
    int x;
    x = *it;
    it++;
    if (it != s.end())
    {
        setRecursivePrinting(s, it);
    }
    cout << x << '\t';
}

int main()
{
    set<int> s;
    s.insert(44);
    s.insert(2);
    s.insert(10);
    s.insert(8);
    s.insert(100);
    setRecursivePrinting(s, s.begin());
    
    return 0;
}

但问题是输出没有显示任何内容。我错过了什么吗?我也知道 rbegin()rend() 函数,但我只想学习以递归方式实现它。

我认为您需要通过引用而不是值来传递集合。