У меня есть этот enum (класс)
enum class conditional_operator
{
plus_op,
or_op,
not_op
}
И я хотел бы std::map
, который представляет эти отображения:
std::map<conditional_operator, std::binary_function<bool,bool,bool>> conditional_map =
{ { conditional_operator::plus_op, std::logical_and<bool> },
{ conditional_operator::or_op, std::logical_or<bool>},
{ conditional_operator::not_op, std::binary_negate<bool>} // this seems fishy too, binary_negate is not really what I want :(
Помимо того факта, что это не 't compile:
ошибка: ожидаемое первичное выражение до токена '}'
ошибка: ожидаемое первичное выражение до токена '}'
ошибка: ожидаемый первичный-выражение перед '}' токеном
для каждой из трех строк, как мне это сделать?Я думаю, что логический_не со вторым фиктивным аргументом будет работать, как только я получу это, конечно, для компиляции ...
РЕДАКТИРОВАТЬ: Могу ли я использовать лямбда для этого?