나는 이와 같은 경험이 전혀 없다. 나는 작은 프로그램을 디버깅하는 데 도움이되는 cout 문을 사용하고 있었고 코드에 만족했다면 주석을 주석 처리했습니다. 이제 코드가 더 이상 작동하지 않습니다. 다음은 주석이있는 코드입니다.cout 문을 주석으로 처리하면 결과가 달라진다 (정확하지 않은 경우)
이 프로그램의 목적은 하드 코딩 된 부울 2 차원 배열을 테스트하여 각 행에 홀수 개의 참 (true) 명령문을 갖는 것입니다. 따라서 첫 번째 배열은 true를 반환하고 두 번째 배열은 false를 반환해야합니다. cout 문을 주석 처리하여 둘 다 대신 false를 반환합니다.
#include <iostream>
using namespace std;
template <size_t size_y>
bool findEvenDegrees(bool mapArray[][size_y])
{
bool returnValue;
for (int x=0; x<size_y; x++)
{
int result = 0;
for (int y=0; y<size_y; y++)
{
result = result + mapArray[x][y];
//the line below causes the problem
cout << mapArray[x][y] << "\t" << result << "\t" << x << endl;
}
if (result%2 == 1)
{
returnValue = false;
break;
}
}
if (returnValue== false)
{
return returnValue;
}
else
{
return true;
}
}
int main()
{
bool array1[][6] =
{
{false,true,true,false,false,false},
{true,false,false,true,false,false},
{true,false,false,true,false,false},
{false,true,true,false,true,true},
{false,false,false,true,false,true},
{false,false,false,true,true,false}
};
bool array2[][8] =
{
{false,true,true,false,false,false,false,false},
{true,false,false,true,false,false,false,false},
{true,false,false,true,false,false,false,false},
{false,true,true,false,true,false,false,false},
{false,false,false,true,false,true,true,false},
{false,false,false,false,false,true,false,true},
{false,false,false,false,true,false,false,true},
{false,false,false,false,false,true,true,false}
};
bool answer1 = findEvenDegrees(array1);
bool answer2 = findEvenDegrees(array2);
if (answer1 == true)
{
cout << "Array 1 has a even degree for every switch." << endl;
}
else
{
cout << "Array 1 has a odd degree for at least one switch." << endl;
}
if (answer2 == true)
{
cout << "Array 2 has a even degree for every switch.";
}
else
{
cout << "Array 2 has a odd degree for at least one switch.";
}
return 0;
}
는 [cout'은'부분을 주석. (http://coliru.stacked-crooked.com/view?id=94e5c41fe17a9a5f86815122c813b6a8-f674c1a6d04c632b71a62362c0ccfc51) –
어느 size_y '! = X || size_y! = y'. 그들은 당신이 당신의 메인에 부울 배열에서 볼 수있는 것과 같은 크기가 없습니다. – mr5