Я пытаюсь изменить целочисленные значения в векторе, используя transform и управляющую структуру if_then_else из Boost Lambda. Однако мой компилятор не оценивает мои усилия. Код, который я пытаюсь использовать:
transform(theVec.begin(), theVec.end(), theVec.begin(),
if_then_else(bind(rand) % ratio == 0, _1 = bind(rand) % maxSize, _1));
Я попытался упростить это до следующего:
transform(theVec.begin(), theVec.end(), theVec.begin(),
if_then_else(0 == 0, _1 = MaxIntSizeCFG, _1));
но компилятор говорит мне: нет соответствующей функции для вызова 'if_then_else (..........'
Я прочитал, что возвращаемые значения из управляющих структур недействительны, так что моя попытка использования в этом случае совершенно неверна?
Заранее спасибо за ваше время!