相关疑难解决方法(0)

比较std :: functions是否相等?

我怎样才能比较两个C++ 11个std::functions的operator==,并返回true如果两个所述functions请参阅同一个函数指针?

c++ function-pointers c++11 std-function

32
推荐指数
3
解决办法
2万
查看次数

函数到函数指针"衰减"

我们知道看起来像的参数void()将被重写为void(*)().这类似于阵列到指针衰变,其中int[]int*.在许多情况下,使用数组会将其衰减为指针.是否存在功能"衰减"的参数以外的情况?

C++标准规定:

§8.3.5/ 5

...在确定每个参数的类型之后,将"T的数组"或"返回的函数T"的任何参数分别调整为"指向T的指针"或"指向函数返回T的指针",...

由于下面的评论者似乎不相信我......我的编译器显示的是什么.

void handler(void func())
{
    func(42);
}

main.cpp: In function 'void handler(void (*)())':
main.cpp:5:12: error: too many arguments to function
     func(42);
        ^
Run Code Online (Sandbox Code Playgroud)

c++

14
推荐指数
3
解决办法
1428
查看次数

标签 统计

c++ ×2

c++11 ×1

function-pointers ×1

std-function ×1