각 실행 프로그램에서 서로 다른 크기를 가질 수있는 두 개의 std :: bitset에 N 개의 다른 부울 연산자를 수행하는 함수를 작성해야합니다. 그래서 내부에서 연산을 수행하고 비트 셋 배열을 반환하는 함수를 작성하려고 시도했지만 리턴 값을 어떻게 정의해야하는지 모르겠습니다.반환 값으로 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;
}
나는 비트 세트 [N] 같은 당신이 변수 크기의 배열이 std::vector
를 사용하여 제안 반환 할 것을
무엇을 [표준 : array''] (http://en.cppreference.com/w/cpp/container 출력 반복자 – Columbo
제공에 대해 /정렬)? – Pradhan
'sizeof (fun)'는 아마 실수 일 것입니다. 'fun.size()'를 의미 했습니까? (벡터의 요소 수) –