我已經通讀了每個訪問衝突寫在這裏我可以找到的位置問題,也許我錯過了一些東西,但我似乎遇到了不同的錯誤。我初始化了所有的指針(據我所知)。SDL訪問衝突寫入位置0x02a251c8
void putpixel(SDL_Surface* surface, int x, int y, Uint32 pixel)
{
int k = GetWidth(surface);
//Convert the pixels to 32 bit
Uint32 *pixels = (Uint32 *)surface->pixels;
//Set the pixel
pixels[ (y * surface->w) + x ] = pixel; //This is the line the debugger points to.
}
該程序顯示Mandelbrot集。這是我用來訪問像素數據的功能。當我第一次編寫程序時,它全部在int main()中,並且使用這個函數很好地工作。我打算用SDL和指針編寫這個練習,所以我將它分解並將Mandelbrot作爲自己的類來學習一些關於OOP的知識。只有一次我把它分開了,我開始有這些問題。有什麼明顯的我失蹤了嗎?我很樂意發佈其餘的代碼,我只是不想用無關緊要的代碼淹沒你們。當我追溯問題時,它指向實際代碼中的putpixel函數以繪製集合,這很有道理。問題是否源於此?
編輯:劃痕。我做了一些錯誤處理,並且我確實鎖定了曲面。
看我的編輯。我想我正確鎖定了表面,但我覺得我犯了一個愚蠢的錯誤。 –