
Expression<int,int> exp(10,11,GreaterThan);//Expression<typename T,typename U> exp(T val1,U val2,oper op);//where oper is a pointer to bool function(T,U)
其中GreaterThan是先前定义的函数.我想知道为什么我不能这样做:
Expression<int,>);
特别是当>被重载为
bool operator>(int a,int a){return (a > b);} 这与GreaterThan相同:
bool GreaterThan(int a,int b){return (a > b);} 一个返回bool并接受两个参数的函数.
解决方法 代替:Expression<int,>);
你可以这样做:
Expression<int,operator>);
你可以,因为它不适用于整数.但它适用于您将重载的其他类型或运算符.您重载的运算符是正常函数,因此实际上您正在使用函数指针.
总结以上是内存溢出为你收集整理的 *** 作符可以用作功能吗? (C )全部内容,希望文章能够帮你解决 *** 作符可以用作功能吗? (C )所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)