将 void 作为参数传递和不将其传递给函数有什么区别?

what is difference between passing void as a parameter and not passing it to function?

我在阅读 php 手册中的代码时感到困惑 --

下面两种语法有什么区别--

final public string Exception::getMessage () 

对比

final public string Exception::getMessage ( void ) 

正如 Manuel 所说,此函数没有参数,那么将 void 传递到那里的目的是什么。虽然它自己是空的,但表示它会被注意到。所以我的问题是--

1- 两种语法中哪一种是最标准的方式,为什么?

http://php.net/manual/en/class.errorexception.php

嗯,let's try:

class Foo{
    function bar(void){
    }
}

Fatal error: syntax error, unexpected ')', expecting '&' or T_VARIABLE or ... in /in/FB6Wb on line 4

所以区别在于前者实际运行:)

说真的,这只不过是文档中用于解释方法签名的语法,您不需要按原样键入。该语法使用 pseudo-types to express variables and you can check the How to read a function definition (prototype) 附件来掌握其他语法位(例如对可选参数使用方括号)。

void 不是实际的语言结构。手册中只是装饰用的。

http://php.net/manual/en/language.pseudo-types.php(死link)

void

void as a return type means that the return value is useless. void in a parameter list means that the function doesn't accept any parameters.

PHP Manual, © 1997-2015 the PHP Documentation Group, CC-BY-SA 3.0