2016-12-06 12 views
0

これが有効でない理由を私は疑問に思う:void関数がvoid関数を返すことはできませんか?

Class Foobar 
{ 
    private function foo(): void { 
     return; 
    } 

    public function bar(): void { 
     return $this->foo(); // Compile Error: A void function must not return a value 
    } 

} 

私はRFCはこの言う知っている:

機能ボイド戻り値の型、またはvoidの関数で、暗黙のうちに戻るか、持っていることのいずれか値

しかし、私見fooなしのreturn文は、このようにそれは...

+4

void関数は_nothing_を返すことができません。 nullでもない。 – Federkun

+0

'return;'実際には 'void'を返さずに' null'を返します –

+0

$ this-> foo()はvoidを返しませんが、nullを返すので実際にnullを返します – GregaMohorko

答えて

1

0許可する必要があり、無効ですはvoidを返しませんが、nullを返します。したがって、バー関数では、実際には明示的にnullを返していますが、これは許可されていません。

関連する問題