我不明白为什么接受下面的声明:
typedef void (*_tStandardDeclaration)(LPVOID);
而下面的不是:
typedef void *_tDeclarationWithoutParenthesis(LPVOID);
typedef void* _tAlternateDeclaration(LPVOID);
我正在使用 MSVC6(我知道它已过时且非标准,但需要它来维持每年一千万的收入系统 :/)
最佳答案
指针符号默认绑定(bind)类型,所以函数指针需要括号来表示指针实际上是在名字上而不是在返回类型上。
关于c++ - 为什么括号在函数指针声明中很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4425422/