MKo*_*MKo 5 c++ function-pointers
为什么没有'&'的作业在以下代码中进行编译?我用GCC 3.4.6编译了代码.没有&分配是否正确,或者这是GCC的"特征"?
void func() {
}
int main() {
typedef void (*F)();
F f;
f = &func; // the way of assigning pointer to function.
f = func; // this is also working.
(*f)();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Man*_*rse 13
这完全没问题.这两个陈述完全相同.函数lvalue通过标准转换转换为指向函数的指针.§4.3/ 1:
函数类型T的左值可以转换为"指向T的指针"的右值.结果是指向函数的指针.
| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |