我寫了這個函數來填充閉環,pixvali是全局聲明的,用於存儲第一次點擊將完成的像素的顏色值(閉環內)。爲什麼堆棧在這段代碼中溢出?
但問題是,當它的第一個*填充(..,..)*渡過這個遞歸併不終止,並說棧溢出...
void fill(int x,int y)
{
GLfloat pixval[3];
glReadPixels(x,y,1,1,GL_RGB,GL_FLOAT,pixval);
if(pixval[0]==pixvali[0] && pixval[1]==pixvali[1] && pixval[2]== pixvali[2])
{
glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd();
glFlush();
fill(x-1,y);
fill(x+1,y);
fill(x,y-1);
fill(x,y+1);
}
}
並將語言添加到標籤。它可能看起來像C,但有相當多的語言看起來像C :) – extraneon 2009-05-24 12:16:29
是設置在任何地方的像素值? – Dario 2009-05-24 12:19:04
我的水晶球告訴我'pixvali'是應該充滿水的顏色。 – 2009-05-24 12:22:48