【初心者歓迎】C/C++室 Ver.48【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.48【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト589:デフォルトの名無しさん 08/02/13 12:46:25 まずい点あったら教えてくれと書いてるのに まずい点を指摘したら言い訳ってどーなんだ 590:デフォルトの名無しさん 08/02/13 12:46:29 >>585 ファイルストリームのクラス階層を確認してみるべき。 fstreamとifstreamは継承階層の中で関係が全く無い。 591:デフォルトの名無しさん 08/02/13 12:53:03 >>589 いや、質問の主眼が"taking address of temporary"のWARNINGでしたので。 その他は瑣末なことと手を抜いてしまいました。 とりあえずお詫びまで。 592:デフォルトの名無しさん 08/02/13 12:56:48 まあありゃ誰がどう見てもただの揚げ足取りだな 593:デフォルトの名無しさん 08/02/13 13:03:19 >>585 ちょっとややこしいけど、そのコードには、一般によくある勘違いにかすっている 君独自の勘違いがある。 まず、ifstreamはistreamを継承してる。fstreamは、iostreamを継承してる。 そのiostreamが、istreamとostreamを継承してるから、つまり両者に共通する近い祖先はistream。 iostreamはistreamの子だけど、fstreamはifstreamの子ではない。これが一般に良くある勘違い。 で、君はこれを踏まえて、fstreamにifstreamを渡すという、更なる勘違いをしてる。 読み書き両用クラス「が」読み取り専用クラス「の」子であるのは明白なわけで、つまり君は、 このセンスがまだ身についていないか、あるいは、普通に渡すだけでダウンキャストが可能になるという、 C++の仕様に対する勘違いをしていることになる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch