声明类型为void C ++的函数数组

Startec

我有一些返回的函数void我指向这些函数,并希望拥有这些函数的数组:

此代码为何起作用:

#include <cstdio>
using std::puts;

void tell() {
  puts("hi");
};

void slap() {
  puts("goodbye");
}

int main(int argc, char *argv[])
{

  void (*tp)() = tell;
  void (*sp)() = slap;

  void(*funcs[])() = {tp, sp};
  for (auto point:funcs) {
    point();
  }
  return 0;
}

当我在不指定指针的情况下尝试此代码时funcs(即,void(funcs[])() = {tp, sp};我得到" error: 'funcs' declared as array of functions of type 'void ()' "的正是它们的确切含义-那么为什么会出错?

我也没有得到语法,int()的末尾不是void(*funcs[])()表明实际上调用了一个函数吗?

Aschepler

C ++标准8.3.5 / 10说:

尽管可以有指向函数的指针数组,但不应有任何函数数组。

funcs必须使用“螺旋规则”读取的声明

funcs[]funcs是一个数组

*funcs[]funcs是一个指针数组

(*funcs[])()funcs是没有参数的函数的指针数组

void (*funcs[])()funcs是一个指针数组,指向不返回参数的函数void

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

函数数组在`fn`和`||`类型上的区别

来自分类Dev

为什么在调用c ++函数中不存在放置在fortran函数数组中的值?

来自分类Dev

深度复制构造函数数组类C ++

来自分类Dev

查找作为c中函数的参数接收的整数数组的大小

来自分类Dev

在c中的参数数组

来自分类Dev

将std :: function代理到需要参数数组的C函数

来自分类Dev

C ++声明函数指针数组

来自分类Dev

如何在C#中创建函数数组?

来自分类Dev

“语义问题:隐式声明类型为'void *(unsigned long)'的库函数'malloc''”

来自分类Dev

C#函数参数数组与列表

来自分类Dev

如何使用C中的函数生成随机数数组

来自分类Dev

C ++中的通用函数,用于打印通过各种技术创建的2D整数数组

来自分类Dev

从C#调用C ++函数,并传递类型为Striped的void指针

来自分类Dev

C ++对象构造函数数组

来自分类Dev

预序树遍历函数,该函数在C中返回整数数组

来自分类Dev

Bubble函数在C上对整数数组进行排序

来自分类Dev

C-比较两个四位数数字数组的函数

来自分类Dev

Dart C互操作性。将整数数组传递给C函数

来自分类Dev

使用存储在C结构中的函数数组中的函数

来自分类Dev

如何使函数在类型为void的c中输入长度未知的字符串

来自分类Dev

OpenvVMS从pascal将char参数数组传递给C函数

来自分类Dev

是否可以在C ++中创建构造函数数组?

来自分类Dev

从C中的函数返回整数数组值

来自分类Dev

C库中的函数数

来自分类Dev

预序树遍历函数,该函数在C中返回整数数组

来自分类Dev

问题:C声明未知大小的整数数组

来自分类Dev

C++ 函数参数类型声明的含义

来自分类Dev

C中函数数组的参数传递/返回,

来自分类Dev

C# 线性函数,带空值的小数数组

Related 相关文章

  1. 1

    函数数组在`fn`和`||`类型上的区别

  2. 2

    为什么在调用c ++函数中不存在放置在fortran函数数组中的值?

  3. 3

    深度复制构造函数数组类C ++

  4. 4

    查找作为c中函数的参数接收的整数数组的大小

  5. 5

    在c中的参数数组

  6. 6

    将std :: function代理到需要参数数组的C函数

  7. 7

    C ++声明函数指针数组

  8. 8

    如何在C#中创建函数数组?

  9. 9

    “语义问题:隐式声明类型为'void *(unsigned long)'的库函数'malloc''”

  10. 10

    C#函数参数数组与列表

  11. 11

    如何使用C中的函数生成随机数数组

  12. 12

    C ++中的通用函数,用于打印通过各种技术创建的2D整数数组

  13. 13

    从C#调用C ++函数,并传递类型为Striped的void指针

  14. 14

    C ++对象构造函数数组

  15. 15

    预序树遍历函数,该函数在C中返回整数数组

  16. 16

    Bubble函数在C上对整数数组进行排序

  17. 17

    C-比较两个四位数数字数组的函数

  18. 18

    Dart C互操作性。将整数数组传递给C函数

  19. 19

    使用存储在C结构中的函数数组中的函数

  20. 20

    如何使函数在类型为void的c中输入长度未知的字符串

  21. 21

    OpenvVMS从pascal将char参数数组传递给C函数

  22. 22

    是否可以在C ++中创建构造函数数组?

  23. 23

    从C中的函数返回整数数组值

  24. 24

    C库中的函数数

  25. 25

    预序树遍历函数,该函数在C中返回整数数组

  26. 26

    问题:C声明未知大小的整数数组

  27. 27

    C++ 函数参数类型声明的含义

  28. 28

    C中函数数组的参数传递/返回,

  29. 29

    C# 线性函数,带空值的小数数组

热门标签

归档