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

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

Войти
Регистрация
Восстановить пароль
 
 
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
#1

Expected constructor, destructor, or type conversion before '.' token - C++

29.10.2013, 15:02. Просмотров 1086. Ответов 26
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
struct Gf3 {
    GLfloat x;
    GLfloat y;
    GLfloat z;
} p1,p2,p3,t;
 
t.x = 0.0; t.y = 0.0; t.z = 1.0;
p1.x = 0.0; p1.y = 0.942809; p1.z = -0.333333;
p2.x = -0.816497; p2.y = -0.471405; p2.z = -0.333333;
p3.x = 0.816497; p3.y = -0.471405; p3.z = -0.333333;
Ошибки на строчках с присваиванием.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
29.10.2013, 15:26     Expected constructor, destructor, or type conversion before '.' token #2
В приведенном коде нет никаких ошибок.
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
29.10.2013, 15:29  [ТС]     Expected constructor, destructor, or type conversion before '.' token #3
Могу предоставить весь код ..
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
#include <windows.h>
#include <GL/glut.h>
 
#include <stdlib.h>
#include <iostream>
using namespace std;
 
struct Gf3 {
    GLfloat x;
    GLfloat y;
    GLfloat z;
} p1,p2,p3,t;
 
t.x = 0.0; t.y = 0.0; t.z = 1.0;
p1.x = 0.0; p1.y = 0.942809; p1.z = -0.333333;
p2.x = -0.816497; p2.y = -0.471405; p2.z = -0.333333;
p3.x = 0.816497; p3.y = -0.471405; p3.z = -0.333333;
 
void myInit(void);
void display(void);
void reshape(int,int);
 
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
    glutInitWindowSize(640, 640);
    glutInitWindowPosition(300, 0);
    glutCreateWindow("Aproximization sphere");
 
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
 
    myInit();
    glutMainLoop();
 
    return EXIT_SUCCESS;
}
 
void myInit(void) {
    glOrtho(-2.0, 2.0, -2.0, 2.0, -10.0, 10.0);
    glDepthFunc(GL_LESS);
}
 
void display(void) {
    glClear(GL_COLOR_BUFFER_BIT);
    glClear(GL_DEPTH_BUFFER_BIT);
 
    glutSwapBuffers();
}
 
void reshape(int width, int height){
    glViewport(0,0,width,height);
    glutPostRedisplay();
}
Код
\Desktop\graphics4\sphere\main.cpp|14|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|14|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|14|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|15|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|15|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|15|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|16|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|16|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|16|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|17|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|17|error: expected constructor, destructor, or type conversion before '.' token|
\Desktop\graphics4\sphere\main.cpp|17|error: expected constructor, destructor, or type conversion before '.' token|
||=== Build finished: 12 errors, 0 warnings ===|
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 15:31     Expected constructor, destructor, or type conversion before '.' token #4
Hunter13ua, попробуйте запихнуть эти строки в main()
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
29.10.2013, 15:35     Expected constructor, destructor, or type conversion before '.' token #5
Цитата Сообщение от metaluga145 Посмотреть сообщение
Hunter13ua, попробуйте запихнуть эти строки в main()
А так как это глут, то в спец. функцию инициализации.
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
29.10.2013, 15:35  [ТС]     Expected constructor, destructor, or type conversion before '.' token #6
metaluga145, .. Если понимаете, что за хрень, поясните, пожалуйста.
Почему работает внутри main, и не компилит вне ?
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
29.10.2013, 15:38     Expected constructor, destructor, or type conversion before '.' token #7
например в myInit();

Добавлено через 1 минуту
Hunter13ua, потому что по стандарту положено.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 15:39     Expected constructor, destructor, or type conversion before '.' token #8

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
так как это глут, то в спец. функцию инициализации.
что-что? поясните)


Hunter13ua, не понимаю, но судя по комментарию выше про "функцию инициализиции", сейчас пойму
MrGluck
Ворчун
Эксперт CЭксперт С++
6675 / 3856 / 510
Регистрация: 29.11.2010
Сообщений: 10,215
29.10.2013, 15:39     Expected constructor, destructor, or type conversion before '.' token #9
Цитата Сообщение от Hunter13ua Посмотреть сообщение
Почему работает внутри main, и не компилит вне ?
Порядок создания глобальных переменных неопределен
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 15:39     Expected constructor, destructor, or type conversion before '.' token #10
programina, это специальный стандарт для глута?
MrGluck
Ворчун
Эксперт CЭксперт С++
6675 / 3856 / 510
Регистрация: 29.11.2010
Сообщений: 10,215
29.10.2013, 15:41     Expected constructor, destructor, or type conversion before '.' token #11
metaluga145, это не стандарт, но логично запихнуть первичную инициализацию в функцию инициализации.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 15:43     Expected constructor, destructor, or type conversion before '.' token #12
MrGluck, оно то логично, но в плюсах ведь не обязательно так делать. или я что-то упустил в этой жизни?
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
29.10.2013, 15:59  [ТС]     Expected constructor, destructor, or type conversion before '.' token #13
Как-то всё равно не понял, почему обязательно в main (ну или в инициализации, что, в свою очередь, тоже в main). Но методом тыка помогли. Спасибо.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 16:01     Expected constructor, destructor, or type conversion before '.' token #14
Hunter13ua, я так понял, что не обязательно в main. можно в любую другую функцию, но главное, чтобы в функцию

Добавлено через 33 секунды
не важно в какую функцию, потому что функция будет вызвана в мейне, потому инициализация будет там же
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
29.10.2013, 16:04  [ТС]     Expected constructor, destructor, or type conversion before '.' token #15
Как бы понятно, что в "любой" функции т.к. "любая" функция будет вызвана именно внутри main, что равноценно описанию прямо в main.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
29.10.2013, 16:07     Expected constructor, destructor, or type conversion before '.' token #16
Цитата Сообщение от Hunter13ua Посмотреть сообщение
Как бы понятно, что в "любой" функции т.к. "любая" функция будет вызвана именно внутри main, что равноценно описанию прямо в main.

Не по теме:

WTF am I reading?

MrGluck
Ворчун
Эксперт CЭксперт С++
6675 / 3856 / 510
Регистрация: 29.11.2010
Сообщений: 10,215
29.10.2013, 16:17     Expected constructor, destructor, or type conversion before '.' token #17
Цитата Сообщение от metaluga145 Посмотреть сообщение
MrGluck, оно то логично, но в плюсах ведь не обязательно так делать. или я что-то упустил в этой жизни?
Я выше написал
Порядок создания глобальных переменных неопределен
Сначала идет попытка обращения к t.x а только потом его создание.

Добавлено через 9 минут
Цитата Сообщение от Hunter13ua Посмотреть сообщение
Как бы понятно, что в "любой" функции т.к. "любая" функция будет вызвана именно внутри main, что равноценно описанию прямо в main.
Правильнее будет сказать, что обязательно поместить эти инструкции до точки входа в программу (не чисто физически, над main ) а именно сделать так, чтобы их вызов был явно позже создания объектов, с которыми они работают.

Да и вообще, глобальные переменные - зло. Я понимаю, что в графике их используют чаще, но все же их можно и желательно избегать.
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
29.10.2013, 16:18  [ТС]     Expected constructor, destructor, or type conversion before '.' token #18
Цитата Сообщение от Rivory Посмотреть сообщение

Не по теме:

WTF am I reading?

C++
1
2
3
4
5
int main(){
    int a = 5;
    cout << a;
    return 0;
}
Равноценно
C++
1
2
3
4
5
6
7
8
9
void f(void){
    int a = 5;
    cout << a;
}
 
int main(){
    f();
    return 0;
}
Нет? Может, я выразил мысль криво. Тогда уж извините.
MrGluck
29.10.2013, 16:18
  #19

Не по теме:

Цитата Сообщение от Rivory Посмотреть сообщение
WTF am I reading?
правильно WTF I am reading?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2013, 16:19     Expected constructor, destructor, or type conversion before '.' token
Еще ссылки по теме:

C++ Expected unqualified-id before '{' token
Error: expected ')' before ';' token C++
Ошибка expected constructor, destructor, or type conversion before '(' toke C++
Ошибка: expected unqualified-id before '{' token C++
Ошибка в коде. expected ';' before ')' token C++

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

Или воспользуйтесь поиском по форуму:
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
29.10.2013, 16:19  [ТС]     Expected constructor, destructor, or type conversion before '.' token #20
MrGluck, большое спасибо! Вот теперь понятно
Yandex
Объявления
29.10.2013, 16:19     Expected constructor, destructor, or type conversion before '.' token
Ответ Создать тему
Опции темы

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