C++相談室 part56
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
50:デフォルトの名無しさん 07/07/28 11:44:59 1 は、参照先にアクセスしたり参照の初期化に使ったりしない限りは未定義じゃない。 例えば main 内で &*str がヌルポインタになるのは well-defined 。 だから、未定義なのは 2 と 3 。 51:デフォルトの名無しさん 07/07/28 11:45:49 良く分かりました。ありがとうございました。 52:デフォルトの名無しさん 07/07/28 12:16:54 >>50 それって↓ここにある話だよね? http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#232 現行の規格では 1 も未定義動作と読めるから、ダメだと考えておいた ほうがいいんじゃない? 53:デフォルトの名無しさん 07/07/28 12:22:51 DirectX SDKに以下のクラスがあって D3DVECTOR(Cバージョン。float x,y,zのみ) D3DXVECTOR3(C++バージョン。上記にメンバ関数が付いた) 後者を引数として受け取る関数 func( D3DXVECTOR3 &v ) に前者D3DVECTORを渡そうとしているのですが、型が違うという エラーがでるので、func( (D3DXVECTOR3)v )とキャストしています。 問題なく動いているのですが、こういうキャストって文法的に問題無い のでしょうか?なんとなく違和感があって func( *((D3DXVECTOR3*)&v) ) こっちに直そうかと思っているのですが…
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5383日前に更新/205 KB
担当:undef