我有以下代码:
typedef void VOID;
int f(void);
int g(VOID);
Run Code Online (Sandbox Code Playgroud)
它在C中编译得很好(在Fedora 10上使用gcc 4.3.2).编译为C++的相同代码给出了以下错误:
void.c:3: error: ‘<anonymous>’ has incomplete type
void.c:3: error: invalid use of ‘VOID’
Run Code Online (Sandbox Code Playgroud)
现在,这是外部库中的东西,我希望所有者解决这个问题.所以我有一个问题 - C++标准是否禁止此构造?你能给我一个指针/引文吗?我唯一记得的是在C++中不推荐用函数声明(void)来表示空参数列表,但我不明白为什么typedefed VOID不起作用.