どちらの関数も適切な関数を返すのに2つの条件がある場合、アラームが発生します。すべてのケースをカバーしていても「制御は非空白関数の終了に達します」という警告が表示される
コントロールは非void型関数[-Wreturn型]
bool EtherTrafGen::isGenerator()
{
if (multipacket) return par("destAddresses").stringValue()[0];
else if (!multipacket) return par("destAddress").stringValue()[0];
}
、このような警告を修正する方法は何であるの終わりに達しましたか?
'else if'の代わりに' else'を使うだけです。 2式が何らかの奇妙な方法で振る舞わない限り、実際には反対ではありません。その場合は、 'else'も提供してください(プロジェクトに新しい人には意味をなされるようにデザインを再考してください)。 – BoBTFish
@BoBTFish実際、このケースでは、ifフローの条件が満たされていれば、制御フローが関数を終了するので、作者は 'else'を使う必要はありません。 – alexeykuzmin0
' else if'を書く必要はないと思います。最初の行の 'if'が' true'なら 'else'を' false'と 'vice verca'とします –