나는 아래의 예에서 스위치 케이스에서 제거하려는 :펑터의 배열을 사용하여 스위치 케이스에서 제거하십시오
|
|
''' ---- (error)
'
std::binary_function<double, double, bool> checks[] = { 0, less_equal<double>(),
less<double>(), less<double>(),
less_equal<double>(),
less_equal<double>(),
0 } ;
for(int i = 0; i < 7; ++i)
{
if(bind2nd(checks[i], 0)(value)) <----- error
{
reportError(param);
return;
}
}
:
for (int i = 0; i < 7; ++i)
{
switch (i)
{
case 2: case 5: case 6:
if (value < 0)
{
reportError(param);
return;
}
break;
case 3: case 4:
if (value <= 0)
{
reportError(param);
return;
}
break;
default:
;
}
}
나는 같은 것을 할 싶습니다 스위치 케이스를 없애려면 어떻게해야합니까? (C++ 98에서는 boost를 사용하지 않고)?