Мне нужно написать функцию для выполнения N разных булевых операторов на двух std :: bitset, которые в каждой программе запуска могут иметь разный размер. поэтому я попытался написать функцию, которая выполняет операцию внутри и возвращает массив битов, но я не знаю, как определить возвращаемое значение?массив std :: bitset как возвращаемое значение
template<size_t SIZE>
.... bitwiseOperator(bitset<SIZE> r_1, bitset<SIZE> r_2, vector<int> fun)
{
int k = 0;
bitset<SIZE> r_12;
const int N = fun.size();
bitset<SIZE> rs[N];
for(vector<int>::iterator it = fun.begin(); it != fun.end(); ++it)
{
if (*it == 1)
{
r_12 = r_1 & r_2;
}
else if(*it == 2)
{
r_12 = r_1 | r_2;
}
else if(*it == 3)
{
r_12 = r_1^r_2;
}
rs[k] = r_12;
k++;
}
return rs;
}
мне нужно возвращаемое значение, чтобы быть что-то вроде BITSET [N]
насчет предоставления итератора вывода – Columbo
[ 'станд :: array'] (http://en.cppreference.com/w/cpp/container/массив)? – Pradhan
'sizeof (fun)', вероятно, ошибка. Вы имели в виду 'fun.size()'? (число элементов в векторе) –