以下两行显示错误C2146,求解。
p=p+2n;
q=q+2n; #include<glut.h>
#include<gl.h>
int x=200,y=100;
int Point0[2]={200,100};
int Point1[2];
int Point2[2];
int Point3[2];
void mouse(GLint button, GLint state,int a,int b)
{
int array[8];
int p=0,q=1;
int n=1;
for(n;n<6;n++)
{
if(button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN)
exit(0);
if(button==GLUT_LEFT_BUTTON && state==GLUT_DOWN)
{
array[p]=a;
array[q]=b;
Point0[0]=x;
Point0[1]=y;
x=array[p];
y=array[q];
Point1[0]=array[2];
Point1[1]=array[3];
Point2[0]=array[4];
Point2[1]=array[5];
Point3[0]=array[6];
Point3[1]=array[7];
p=p+2n;
q=q+2n;
}
}
GLint Point[2]={x,y}; //设置初始顶点
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,0.0); //设置画线的颜色为黄色
glBegin(GL_LINE_STRIP); //连点成线
glVertex2iv(Point0);
glVertex2iv(Point);
glVertex2iv(Point1);
glVertex2iv(Point2);
glVertex2iv(Point3);
glEnd();
glutSwapBuffers();
}
void display(void)
{
glutMouseFunc(mouse);
}
void main(int argc,char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(600, 600); //窗口大小
glutInitWindowPosition(400,100); //窗口位置
glutCreateWindow("扫描线填充算法示例 学号102370"); //窗口名称
glClearColor(0.0,0.1,0.6,0.0); //背景颜色设为蓝色
gluOrtho2D(0.0,600.0,600.0,0.0);
glutDisplayFunc(display);
glutMainLoop();
}
p=p+2n;
q=q+2n; #include<glut.h>
#include<gl.h>
int x=200,y=100;
int Point0[2]={200,100};
int Point1[2];
int Point2[2];
int Point3[2];
void mouse(GLint button, GLint state,int a,int b)
{
int array[8];
int p=0,q=1;
int n=1;
for(n;n<6;n++)
{
if(button==GLUT_RIGHT_BUTTON && state==GLUT_DOWN)
exit(0);
if(button==GLUT_LEFT_BUTTON && state==GLUT_DOWN)
{
array[p]=a;
array[q]=b;
Point0[0]=x;
Point0[1]=y;
x=array[p];
y=array[q];
Point1[0]=array[2];
Point1[1]=array[3];
Point2[0]=array[4];
Point2[1]=array[5];
Point3[0]=array[6];
Point3[1]=array[7];
p=p+2n;
q=q+2n;
}
}
GLint Point[2]={x,y}; //设置初始顶点
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,0.0); //设置画线的颜色为黄色
glBegin(GL_LINE_STRIP); //连点成线
glVertex2iv(Point0);
glVertex2iv(Point);
glVertex2iv(Point1);
glVertex2iv(Point2);
glVertex2iv(Point3);
glEnd();
glutSwapBuffers();
}
void display(void)
{
glutMouseFunc(mouse);
}
void main(int argc,char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(600, 600); //窗口大小
glutInitWindowPosition(400,100); //窗口位置
glutCreateWindow("扫描线填充算法示例 学号102370"); //窗口名称
glClearColor(0.0,0.1,0.6,0.0); //背景颜色设为蓝色
gluOrtho2D(0.0,600.0,600.0,0.0);
glutDisplayFunc(display);
glutMainLoop();
}
应该是p = p + 2*n;