代码之家  ›  专栏  ›  技术社区  ›  Sachin Singh

在c中用整数声明集合集++

  •  -1
  • Sachin Singh  · 技术社区  · 7 年前

    我正在用一组集合编写一个c++程序。这是声明的集合集。

    std::set< std::set<int> > temp_moves;
    

    我在这个声明中得到了下面的错误,我的问题是我的语法正确吗?可以在程序中创建一组集合吗?

    error: no matching function for call to ‘std::set<std::set<int> >::insert(int&)’
    

    更新的代码

       std::set<int> next_moves;
       std::set<int> available_numbers;
       for (const auto available_number : available_numbers)
            temp_moves.insert(number);
            temp_moves.insert(available_number);
       next_moves.insert(temp_moves);
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Stephan Lechner    7 年前

    您正在插入一个整数值 available_number 进入数据结构 temp_moves 这需要一组。。。

    可能不是您想要实现的逻辑,但至少可以编译以下内容。希望能有所帮助:

    std::set<int> next_moves;
    std::set<int> available_numbers;
    for (const auto available_number : available_numbers) {
      next_moves.insert(available_number);
    }
    temp_moves.insert(next_moves);