Вот мои усилия для генерации подмножества данного набора
#include <cstdlib>
#include <iostream>
#include<vector>
using namespace std;
vector<int> getsubset(vector<int> &sets)
{
vector<int>allsubset;
int max=1<<sets.size();
for (int i=0;i<max;i++){
vector<int> subset;
int j=i;
int index=0;
while( j>0){
if ((j&1)>0)
subset.push_back(sets[index]);
j>>=1;
index++;
}
allsubset.push_back(subset);
}
return allsubset;
}
int main(int argc, char *argv[])
{
return 0;
}
, но здесь ошибка
1>------ Build started: Project: subset, Configuration: Debug Win32 ------
1> subset.cpp
1>c:\users\daviti\documents\visual studio 2010\projects\subset\subset\subset.cpp(27): error C2664: 'void std::vector<_Ty>::push_back(_Ty &&)' : cannot convert parameter 1 from 'std::vector<_Ty>' to 'int &&'
1> with
1> [
1> _Ty=int
1> ]
1> Reason: cannot convert from 'std::vector<_Ty>' to 'int'
1> with
1> [
1> _Ty=int
1> ]
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
, и я не совсем понял ошибку, пожалуйста, помогите мне, чтонеправильно?