[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 04/16 18:53 / Filesize : 155 KB / Number-of Response : 599
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.77【環境依存OK】



372 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 13:35:58.42 ]
皆さんレスありがとうございます.

 すいません.質問用に単純化したので,実際には get_int() は _strtoui64() で ulonglong を返します.
func_int() は自作の,set_datas() という値をclassのメンバに設定する関数で,ポインタ引数を複数持ち,
NULLが設定されていない引数をメンバに設定します.

//member func
void set_data(const POINT* ppoint, const FILETIME* ptime, const ULONGLONG* pID)
{
  if( ppoint ) m_point = *ppoint;
  if( ptime  ) m_time = *ptime;
  if( pID   ) m_point = *pID;
}

 例えば POINT get_point() や FILETIME get_time() のような構造体を返す場合は,一見すると問題なくできたのに,
ulonglong を返す場合にエラーとなってしまったので質問させて頂きました.

set_data( &get_point(), &get_time(), &_strtoui64("1",NULL, 10 ) );

 この場合,get_point(), get_time() の返す一時オブジェクトは, set_data() が終了するまで生きていると考えたのですが,
認識が間違っていたでしょうか?

template<typename T>
inline const T* GetPtr(const T& in)
{
  return ∈
}

set_data( &get_point(), &get_time(), GetPtr( _strtoui64("1",NULL, 10 ) ) );

↑また,先ほど思いついたのですが,この方法は問題がありますか?






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<155KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef