C++相談室 part62at TECHC++相談室 part62 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 08/05/30 19:15:40 >>37 func().x = 0;がエラーにならないのって、 XがPOD型のときだけっぽい。 51:デフォルトの名無しさん 08/05/30 19:37:48 ・コンストラクタを付けるだけ(PODでなくなる)で、 func()経由でも出来なくなる。 struct X { int x; X(){} }; ... X().x = 0; //エラー:左のオペ(ry func().x = 0; //エラー:左のオペ(ry ・関数経由だと、どちらでも出来る。 struct X { int x; X(){} int& xref(){return x;} }; ... X().xref() = 0; func().xref() = 0; 誰か仕様詳しい人・・・ 52:デフォルトの名無しさん 08/05/30 19:56:00 逆に POD の時にエラーにしてほしい。意味のない操作になるから。 53:デフォルトの名無しさん 08/05/31 02:12:49 >>33 うちではvc9は重すぎて入れてないので検証できないのだが、 なんでvc9だと通るんだ?? template <void * P> class A {}; void *f() { return NULL; } int main() { A<f()> a; return 0; } だったらわかるけど。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch