Ned*_*ham 8 c++ function-pointers operators
所以我有一个函数,希望函数指针作为输入,其原型如下所示:
int function(int (*op)(int, int));
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以为该函数指针传递一个运算符.特别是这个内置的运算符:
int operator|(int, int);
Run Code Online (Sandbox Code Playgroud)
我试过这个:
function(&(operator|));
Run Code Online (Sandbox Code Playgroud)
并得到这种错误:
error: no matching function for call to 'function(<unresolved overloaded function type>)'
Run Code Online (Sandbox Code Playgroud)
我试过这个:
function(&(operator|(int, int)));
Run Code Online (Sandbox Code Playgroud)
并得到这种错误:
error: expected primary-expression before 'int'
Run Code Online (Sandbox Code Playgroud)
我在文档中查找了这种情况,但是我得到了关于"地址"运算符(运算符&)而不是关于运算符地址的事情....
编辑:
请参阅上一个问题 在C++中显式调用原始运算符函数
内置运算符 | 需要两个int并返回一个int无法通过符号访问operator|。例如,以下内容无法编译
int a = operator|(2,3);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |