Не могу найти ошибки (Помогите начинающему программисту)

Модератор: Модераторы разделов

Vesna
Сообщения: 3
ОС: Kubuntu

Не могу найти ошибки

Сообщение Vesna »

Всем привет. Решительно ничего не понимаю. Следующий код:

Код:

#include "myglwidget.h" #include "math.h" float k,m,p,r,t,s,phi; float x,y,del; void MyGLWidget::initializeGL() { glClearColor(0.0,0.0,0.0,0.0); } void MyGLWidget::resizeGL(int nWidth,int nHeight) { glViewport(0,0,(GLint)nWidth,(GLint)nHeight); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-50.0,50.0,-50.0,50.0,-50.0,50.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void MyGLWidget::paintGL() { x=0; k=15; m=30; y=k; phi = 0; del = 4*(k*k)*(x+1)*(x+1)+k*k*(2*y-1)*(2*y-1)-4*k*k*k*; glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); glBegin(GL_POINTS); glColor3d(1.0,0.0,0.0); while (x<y) { glVertex3d(x,m,y); glVertex3d(x,m,-y); glVertex3d(-x,m,y); glVertex3d(-x,m,-y); glVertex3d(x,-m,y); glVertex3d(x,-m,-y); glVertex3d(-x,-m,y); glVertex3d(-x,-m,-y); if(del>=0){ y=y-1; del=del-8*y*k^2; } del=del+4*(k*k)*(2*x+3); x=x+1; } glEnd(); glDisable(GL_DEPTH_TEST); }


даёт следующие ошибки:

Код:

myglwidget.cpp: In member function 'virtual void MyGLWidget::paintGL()': myglwidget.cpp:23: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:26: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:28: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:28: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:28: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:28: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:28: error: expected primary-expression before ';' token myglwidget.cpp:33: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:33: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:35: error: argument of type 'int (QWidget::)()const' does not match 'GLdouble' myglwidget.cpp:36: error: wrong type argument to unary minus myglwidget.cpp:37: error: wrong type argument to unary minus myglwidget.cpp:38: error: wrong type argument to unary minus myglwidget.cpp:38: error: wrong type argument to unary minus myglwidget.cpp:40: error: argument of type 'int (QWidget::)()const' does not match 'GLdouble' myglwidget.cpp:41: error: wrong type argument to unary minus myglwidget.cpp:42: error: wrong type argument to unary minus myglwidget.cpp:43: error: wrong type argument to unary minus myglwidget.cpp:43: error: wrong type argument to unary minus myglwidget.cpp:46: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:47: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:49: error: invalid use of member (did you forget the '&' ?) myglwidget.cpp:50: error: invalid use of member (did you forget the '&' ?) make: *** [myglwidget.o] Error 1 make: Target `first' not remade because of errors. *** Exited with status: 2 ***


Почему-то

Код: Выделить всё

k=15;
 m=30;
на эти строки не ругается, а на эти:

Код: Выделить всё

x=0;
y=k;
выдаёт: invalid use of member (did you forget the '&' ?)
Спасибо сказали:
Vesna
Сообщения: 3
ОС: Kubuntu

Re: Не могу найти ошибки

Сообщение Vesna »

Магия.. Поменяла имена переменных x, y, del на xi, yi, deli. Ошибки ушли. Осталась одна:
myglwidget.cpp:29: error: expected primary-expression before ';' token


29-я строка:

Код: Выделить всё

 deli=4*(k*k)*(xi+1)*(xi+1)+k*k*(2*yi-1)*(2*yi-1)-4*k*k*k*;
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: Не могу найти ошибки

Сообщение Olegator »

Vesna писал(а):
01.12.2008 00:42
......-4*k*k*k*;

а на что умножить?
Спасибо сказали:
Vesna
Сообщения: 3
ОС: Kubuntu

Re: Не могу найти ошибки

Сообщение Vesna »

Olegator писал(а):
01.12.2008 00:46
Vesna писал(а):
01.12.2008 00:42
......-4*k*k*k*;

а на что умножить?


Ррррр.. Понятно. Спасибо)
Спасибо сказали: