gpt4 book ai didi

c++ - 通过引用的函数指针数组

转载 作者:行者123 更新时间:2023-11-27 22:58:15 28 4
gpt4 key购买 nike

我知道你可以通过引用传递一个数组:

void func(T (&arr)[4])
{
std::cout<<sizeof(arr)/sizeof(arr[0]);
}

您可以传递一个函数指针数组,例如:

void func(void(**run)(int i))
{
run[0](100);
}

void func(void(*run[4])(int i))
{
run[0](100);
}

但是您不能在函数指针情况下使用 sizeof 来获取参数数组的大小。

引用函数指针数组的正确语法是什么?

最佳答案

语法(奇怪地)是:

void func(void (*(&run)[4])(int))

额外的括号是为了消除引用数组中声明的歧义——这在 C++ 中是非法的。

关于c++ - 通过引用的函数指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30418324/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com