我似乎正在得到一個非常奇怪的錯誤。基本上,我有一個類A,旨在管理像素數據的磁盤緩存。從主程序,我創建了一個使用的對象:「this」指針如何在類中未初始化?
A* obj = new A(...);
然後,我調用一個方法來從磁盤讀取像素:
Pixel pix = obj->read(...);
然而,當我嘗試使用「這個「指針從read()方法中訪問A的私有成員變量,由於」this「指針未初始化(由MSVC 2012設置爲0xCCCCCCCC),我得到一個訪問衝突錯誤。但是,我檢查了構造函數返回的「obj」指針的值,它似乎是一個有效的地址。
我的猜測是,構造函數以某種方式失敗,但爲什麼它會返回一個指向該對象的指針?或者,如果構造函數沒有失敗,爲什麼「this」指針在類中未初始化?
顯示您的代碼。 – melpomene
短:它不能。長:顯示代碼。 – PlasmaHH
你顯示的兩行代碼之間的東西已經對'obj'變量(不一定是它指向的對象)進行了破壞。我知道找到這種錯誤的最佳工具是['valgrind'](http://valgrind.org/),但我不知道它是否適用於Windows。 – zwol