2

出力ストリーム operator<< オーバーロードを実装しています。出力ストリーム パラメーター os が std::cout であることを確認する必要があります。そうでない場合は、std::runtime_error をスローします。どうすれば確認できますか?

   friend std::ostream& operator<<(std::ostream& os, const Software &soft)
4

1 に答える 1

9

あなたがこれをしなければならないとあなたに思わせるような論理には疑問がありますが、本当にしたいのなら...

if (&os != &std::cout) {
    throw std::runtime_error(/* ... */);
}
于 2012-10-08T09:11:13.390 に答える