的問題如下:指針丟失在發佈版本
有一個構造函數,其中一個指針參數
m_pszBuf= new char[260];
//Still valid , to prove i'm printing the address
std::cout <<"Address "<< (void*)m_pszBuf <<std::endl;
device = new Device(m_pszBuf);
Device::Device(char* _ptr){
strcpy(dest,_ptr);
}
有趣的是通話,構造函數的調用之前,指針仍然有效並且具有地址和值,但是一旦它進入ctor,它就成爲一個錯誤的指針(0x0000005c)。另外,它在調試模式下工作,但不在釋放模式下工作。
那麼第一行是無效的(假設你不能將'Foo *'轉換爲'Foo')。我們需要看到更多的代碼。 'ptr'從哪裏來? – 2013-02-28 10:47:51
我希望你的意思是'Foo * f = new Foo(ptr)' – UmNyobe 2013-02-28 10:47:53
'ptr'指向什麼? – juanchopanza 2013-02-28 10:47:55