Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Faken
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 7
#1

openGl и классы - C++

12.11.2013, 14:45. Просмотров 902. Ответов 26
Метки нет (Все метки)

Поставил openGL на Dev C++, все работает. Но когда я объявляю класс выдает ошибку:
"Syntax error before <название класса>"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 14:45     openGl и классы
Посмотрите здесь:

Opengl и C++ - C++
Посоветуйте книгу, литературу....

OpenGl - C++
где используется опенгл кроме игр? и вообще стоит ли её учить?

С++ и OpenGL - C++
Всем доброго времени суток, подскажите почему у меня не определяется метод glBufferData(GL_ARRAY_BUFFER), библиотека не видит, подключенные...

OpenGL - C++
Здравствуйте , nомогите nожалуйста , nодключаю библиотеку Glut . OpenGL , делаю вот nо этому гайду http://grafika.me/node/96 Но...

Библиотека OpenGL - C++
Как подключить библиотеку OpenGL в VS 2010?

Арканоид с OpenGL - C++
Привет всем, сделал Арканоид в Visual Studio с помощью OpenGL, но не могу реализовать чтобы при уничтожении всех блоков шариком, игра...

OpenGL в CodeBlocks - C++
Мучаюсь с установкой OpenGL в CodeBlocks уже целый вечер. Все нервы вытрепал. Пожалуйста опишите здесь по полочкам как установить OpenGL...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
12.11.2013, 14:53     openGl и классы #2
Это потому что у вас синтаксическая ошибка перед названием класса.
Покажите как объявляете.
Faken
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 7
12.11.2013, 14:59  [ТС]     openGl и классы #3
C++
1
2
3
4
5
class ball{
             public:
               float x, y, dx, dy, r;
               Ball(float y_, float r_): x(), y(y_),r(r_),dx(),dy(){}
               };
при таком объявлении выдает следующее:
syntax error before "ball"
syntax error before "{" token
syntax error before ":" token
newbie666
Заблокирован
12.11.2013, 15:02     openGl и классы #4
Цитата Сообщение от Faken Посмотреть сообщение
syntax error before "ball"
А что в коде БЕФОР БАЛЛ то ? Весь файл в студию
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.11.2013, 15:06     openGl и классы #5
точка с запятой?

Добавлено через 1 минуту
имя конструктора не совпадает с именем класса
Faken
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 7
12.11.2013, 15:06  [ТС]     openGl и классы #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <gl/glut.h>
#include <math.h>
       float r_x=50.0, r_y=292.0, r_w=80.0, r_h=8.0;
       int mouse_x;
       float i=0;
       class ball{
             public:
               float x, y, dx, dy, r;
               ball(float y_, float r_): x(), y(y_),r(r_),dx(),dy(){}
               };     
 
void Mouse(int ax, int ay){
      mouse_x=ax;
      r_x=ax-r_w/2;}
 
 
 
 
 
 
void display(){
     glClear(GL_COLOR_BUFFER_BIT);
     glColor3f(0.2,0.78,0.11);
     glRectf(r_x, r_y, r_x+r_w,r_y+r_h);
     glBegin(GL_POLYGON);
             for( i=0; i<2*3.14; i+=3.14/4)
             {glVertex2f(50+5*sin(i), (r_y-50)+5*cos(i));}
             
     glEnd();          
     glutSwapBuffers();
     glFlush();}
     
     
     
     
     
void Timer(){
     display();
     glutTimerFunc(33,Timer,0);}
 
 
 
 
void Init(){
       glClear(GL_COLOR_BUFFER_BIT);
       glClearColor(0.0,0.0,0.0,0.0);
       glMatrixMode(GL_PROJECTION);
       glOrtho(0,300,300,0,1,0);}
 
 
 
 
 
 
 
int main(int argc, char **argv){
   
    
    
    glutInit(&argc, argv);
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
    glutInitWindowSize(300, 300);
    glutInitWindowPosition(500,200);
    glutCreateWindow("test");
    glMatrixMode(GL_PROJECTION);
    glClearColor(0.0,0.0,0.0,1.0);
    
    glutTimerFunc(33,Timer,0);
    glutPassiveMotionFunc(Mouse);
    glutDisplayFunc(display);
    Init();
    glutMainLoop();
}
Только начал осваивать opengl, делаю игру арканоид по примеру с youtube
newbie666
Заблокирован
12.11.2013, 15:09     openGl и классы #7
Цитата Сообщение от Faken Посмотреть сообщение
Ball(float y_, float r_): x(), y(y_),r(r_),dx(),dy(){}
Ball с маленькой буквы напиши, это конструктор класса, который у тебя ball
Faken
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 7
12.11.2013, 15:09  [ТС]     openGl и классы #8
исправил на маленькую букву, проблема осталась
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
12.11.2013, 15:13     openGl и классы #9
Ты наверное его компилируешь как Си-файл. Как компилируешь? Как называется файл?
newbie666
Заблокирован
12.11.2013, 15:15     openGl и классы #10
Цитата Сообщение от castaway Посмотреть сообщение
Ты наверное его компилируешь как Си-файл. Как компилируешь? Как называется файл?
если с этим всё в порядке, то единственный вариант - кривой инклюдник #include <gl/glut.h> с синтаксической ошибкой
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
12.11.2013, 15:18     openGl и классы #11
Мож ball повторяется?
Faken
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 7
12.11.2013, 15:24  [ТС]     openGl и классы #12
Да, компилирую как Си, если компилирую как С++, то выдает следующее:
C++
1
С:\Dev-cpp\include\gl\glut.h redeclaration of C++ built-in type short
если два раза кликнуть по этой ошибке то меня перенаправляет в glut.h на эти строки:
C++
1
2
3
4
5
6
   /* XXX This is from Win32's <ctype.h> */
#  ifndef _WCHAR_T_DEFINED
typedef unsigned short wchar_t;
#   define _WCHAR_T_DEFINED
#  endif
# endif
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.11.2013, 15:25     openGl и классы #13
а такие конструкторы случайно не в С++11. Еще может быть, что компилятор старый(devcpp потамушто)?????
newbie666
Заблокирован
12.11.2013, 15:26     openGl и классы #14
Цитата Сообщение от Faken Посмотреть сообщение
# *ifndef _WCHAR_T_DEFINED
typedef unsigned short wchar_t;
# * define _WCHAR_T_DEFINED
сотри эти строчки в glut.h, т.к. это пытается переопределить wchar_t, который в современных С++ библиотеках и так есть. glut.h - старьё. Учи DirectX лучше или качай OpenGL 4
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.11.2013, 15:32     openGl и классы #15
Цитата Сообщение от newbie666 Посмотреть сообщение
или качай OpenGL 4
glut != opengl

glut можно юзать и с opengl4
newbie666
Заблокирован
12.11.2013, 15:34     openGl и классы #16
Цитата Сообщение от programina Посмотреть сообщение
glut != opengl
а ну да... сто лет не пользовался OpenGl... Ну тем паче его в топку вместе с GLUT.
Учи DirectX
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.11.2013, 15:37     openGl и классы #17
Цитата Сообщение от newbie666 Посмотреть сообщение
а ну да... сто лет не пользовался OpenGl... Ну тем паче его в топку вместе с GLUT.
Учи DirectX
Да глут вообще не причем!!!1 И еще опенгл кроссплатформенный, поэтому надо учить опенгл, а не директикс!

ТС, не слушай нубов всяких
newbie666
12.11.2013, 15:46
  #18

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Да глут вообще не причем!!!1 И еще опенгл кроссплатформенный, поэтому надо учить опенгл, а не директикс!
ТС, не слушай нубов всяких
опять холи вар
Кросс то - кросс, только накой хрен тебе этот кросс, когда основные программы с графикой и игры на Windows. Хочешь делать игры для пингвинов - скатертью дорога, но денег ты на них не набомбишь
Не слушай программистов в юбке ухаха

SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
12.11.2013, 16:06     openGl и классы #19

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
не слушай нубов всяких
Действительно. Вон на канве царапают такие вещи в шестом билдере - закачаешься.
Цитата Сообщение от newbie666 Посмотреть сообщение
но денег ты на них не набомбишь
Правильно. Будущее за казуалками и инди. Графика для людей с ограниченной фантазией!
Цитата Сообщение от newbie666 Посмотреть сообщение
Не слушай программистов в юбке ухаха
Хорошо, что это была шутка, да. Совершенно невинная.


И вообще хватит оффтопить. Еще не починен
Цитата Сообщение от Faken Посмотреть сообщение
"Syntax error before <название класса>"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 16:12     openGl и классы
Еще ссылки по теме:

ООП в с++ и OpenGL - C++
Пытаюсь написать код для упрощения работы с OpenGL #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;glut.h&quot; using namespace...

Подключение OpenGL - C++
Доброго времени суток! Сейчас собрался делать курсовик по программированию и столкнулся с одной проблемой - подключение OpenGL. Glut...

OpenGL и материалы - C++
Здравствуйте. Есть программа: #include &lt;GL/glut.h&gt; static int kv= 1; static int kd = 1; void reshape(int w, int h) { ...

Текстуры OpenGL - C++
Подскажите пожалуйста как наложить текстуру на прямоугольник. Уже часов 5 ищу в гугле, информации там полно но до меня не доходит как это...

Арканоид с OpenGL - C++
Ребят сейчас делаю программу Арканоид и на одном из этапов застрял помогите исправить ошибки main.cpp #include &lt;GL\freeglut.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
newbie666
Заблокирован
12.11.2013, 16:12     openGl и классы #20
Цитата Сообщение от SatanaXIII Посмотреть сообщение
И вообще хватит оффтопить. Еще не починен
починен. в 14-м посте я уме уже сказал что стереть из кривого файла глута...
Yandex
Объявления
12.11.2013, 16:12     openGl и классы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru