“typedef void VOID”内置“void”和“VOID”有什么区别?

时间:2012-05-21 21:00:32

标签: c++ typedef void

无意中我有以下问题:

typedef void VOID;

class Cls1
{
public:
  VOID Clear(VOID);
};

编译器(g ++ 4.6.1)报告了

  

错误:'anonymous'的类型不完整   错误:'无效使用'VOID {aka void}'

'void'与'VOID'有什么特别的原因?

2 个答案:

答案 0 :(得分:2)

好的,clang编译器提供了一个更易读的错误:

  

test.cpp:14:20:error:使用typedef定义的空参数列表   C ++中不允许'void'       void Clear(VOID);

答案 1 :(得分:1)

没有什么不同。

在C ++中,空参数列表为空,而不是“void”。