C++相談室 part50
■ このスレッドは過去ログ倉庫に格納されています
0101デフォルトの名無しさん
2006/06/07(水) 22:58:34C++の規格ではどっちが正しいのか教えてくれ。
std::ofstream fout;
std::ostream *pout = fout ? &fout : &std::cout;
std::ostream &out = fout ? fout : std::cout;
gcc3.4.4だと両方通る。
VC8だと上が通って下が通らない。エラーメッセージはこんなん。
エラー1error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : private メンバ (クラス 'std::basic_ios<_Elem,_Traits>' で宣言されている) にアクセスできません。c:\program files\microsoft visual studio 8\vc\include\ostream581
なぜかヘッダーにエラーがあることになってるんだけど、&outの行を
コメントアウトするとコンパイル通るからこの行のせいだと思うんだ。
C++の規格的にはどっちが正しい?
■ このスレッドは過去ログ倉庫に格納されています