我想要一个计算 2 个 bool
变量的函数(如真值表)。
例如:
自从
T | F : T
然后
myfunc('t', 'f', ||); /*defined as: bool myfunc(char lv, char rv, ????)*/
应该返回true;
。
如何传递第三个参数?
(我知道可以将它作为 char* 传递,但是我必须有另一个表来比较运算符字符串,然后执行我想避免的操作)
是否可以将 ^
(XOR) 或 ||
(OR) 或 &&
(AND) 等运算符传递给函数/方法?
最佳答案
声明:
template<class Func> bool myfunc(char lv, char rv, Func func);
或者如果您需要单独链接:
bool myfunc(char lv, char rv, std::function<bool(bool,bool)> func);
然后你可以调用:
myfunc('t', 'f', std::logical_or<bool>());
关于c++ - 将运算符作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530588/