2016-08-28 12 views
0

返信するとが返されます。またはreturn void(); Qt 5のC++クラスの通常のvoidメソッドでは、okをコンパイルします。私はスロット方法コンパイラは、次のエラーを生成してそれを置くとき:C2120 Qt C++の空きスロットでリターンを使用する場合

error C2120: 'void' illegal with all types

ここでは、ボイド中の復帰が可能であることが、記載されている。ここでCan I return in void function?

それはそのスロットいるため、記載されていますvoidを含む値を返す通常のC++関数です、私は推測します。 http://www.qtcentre.org/archive/index.php/t-26724.html

このような状況でC2120が発行される理由は何ですか?

+0

これはどのコンパイラとバージョンですか?あなたはオンラインコンパイラでそれを再現できますか? –

+0

心配しないでください。この質問は簡単にデバッグされた簡単な間違いであるため、話題にはなりません。 –

答えて

0

void関数からのみvoidを返すことができます。たとえば、次のように他の

void foo() 
{ 
    return void(); 
} 

あなたはそれ自体が無効である

void foo() 
{ 
    return; 
} 

のように返すことができます。

この例では説明したとおりですが、何も返さないため、エラーが発生します。

+0

質問は、エラーは「何か」ではなく「void」を返すことによって引き起こされると言います。 –

関連する問題