英吋 DirectX

DXUT – CGrowableArray

CGrowableArray 是 DXUT 裡面的其中一個類別
嗯~就是一個簡單的動態陣列
拜辜狗的時候看到這類別有一點小bug

以下為原始code:

 CGrowableArray( const CGrowableArray<TYPE>& a )
 {
     for( int i=0; i < a.m_nSize; i++ )
         Add( a.m_pData[i] );
 }


CGrowableArray 的複製建構元沒有對成員變數做初始化的動作
所以要修復這個bug只需要在加上初始化即可

 CGrowableArray( const CGrowableArray<TYPE>& a ) : m_nMaxSize(0), m_nSize(0), m_pData(0)
 {
     for( int i=0; i < a.m_nSize; i++ )
         Add( a.m_pData[i] );
 }


OK~這樣就沒問題了!
目前我是使用 2006 Aug版本,這錯誤還沒修正
幸好在碰上錯誤之前看到,不然八成又會瘋狂了XD
不知道哪一版有做修正,祝各位code愉快~

來源: Might it be a BUG within DXUT?

–End

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.