c++ - 如何在 C/C++ 源代码中使用函数 typedef?

标签 c++ c typedef

<分区>

我正在构建一段旨在供许多项目使用的代码。在 C 和 C++ 中。 (#ifdef __cplusplus 内容已处理完毕)。

该项目使用回调和函数指针。为了让事情变得简单,我想使用函数的 typedef。例如

标题:

typedef void(MyFunctionTypedef)(unsigned char* data, int len);

MyFunctionTypedef ProcessData;

来源:

MyFunctionTypedef ProcessData
{
  ...
}

这在 Borland CBuilder 中运行良好。

但我也在 Arduino 中尝试过,但我在源代码中遇到错误 错误:'{' 标记前应为 '='、','、';'、'asm' 或 '__attribute__'

有没有办法使它在每个 C 或 C++ 编译器中工作?

最佳答案

你永远不能用 typedef 定义一个函数。 Borland C++Builder 可能有一个允许您这样做的编译器扩展,但是您无法执行任何符合标准的操作。

关于c++ - 如何在 C/C++ 源代码中使用函数 typedef?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58767996/

相关文章:

c++ - 递归互斥锁背后的想法

c - 将结构数组传递给函数

objective-c - 将 Objective-C/C 回调代码转换为 Swift

c++ - 确保编译时模板类型的一致性

C++ 重载运算符 << 让我做噩梦

c++ - 体系结构 x86_64 :"_glutInit"的 undefined symbol ,从 Mac 上的 :_main in main. o/Netbeans 引用

c++ - 当 .so 尝试使用主可执行文件中的类时,dlopen() 给出未解析的符号错误。为什么?

c - ld-linux.so 执行 CTOR 的顺序?

c++ - 如何将窗口的一部分绘制到内存设备上下文中?

c - 为 struct - C 中的 typedef 字段发出初始化值