我遇到了一個問題,當我傳遞它的MFC資源ID時,MAKEINTRESOURCE宏似乎總是返回一個錯誤的指針。資源ID全部列在Resource.h中,並且與資源屬性中ID的設置相匹配。MAKEINTRESOURCE返回資源ID的錯誤指針
我是MFC的新手,所以我不完全確定自己理解資源&他們的ID的工作,但在我看來,壞指針會表明我的資源沒有存儲在正確的位置在記憶中?這是一箇舊的項目,我試圖添加一些新的功能,並且當我嘗試使用較舊的資源做MAKEINTRESOURCE時,我檢查了anf(這肯定是工作的,它們在我運行應用程序時顯示並且功能正常),我也變得很糟糕指針。
這可能是什麼原因造成的?
編輯:該項目使用Unicode字符集爲好,如果讓如果「壞球」你的意思是「不指向資源在內存中對象的指針,」任何區別
請具體說明「壞指針」的含義。 'MAKEINTRESOURCE'在指針內編碼一個整數。這不是一個你可以解除引用的指針;你可以用它做的唯一事情就是把它傳遞給一個資源函數。 – 2012-03-21 14:25:10
當我在調試和鼠標上運行該程序的返回值時,它會說「 CXX0030Error:無法評估表達式」 這是預期的嗎?每當我嘗試使用來自MAKEINTRESOURCE的返回值加載資源時,它無法找到資源,我想也許是是原因。 –
Marzipan
2012-03-21 14:34:08
是的,這是預期的,因爲它不是一個指向任何東西的指針,也不能被取消引用。 – 2012-03-21 16:23:29