Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 20:51   #1
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию Странности компилятора: ругается на класс

Я сошел с ума,ибо у меня не компилится вот это:
Код:
class a
{
   int k;
};
a b;
Пишет:
Цитата:
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘a’

error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’|
||=== Build finished: 2 errors, 0 warnings ===|
То ли я страшно туплю то ли сошел с ума 0_0
Уже минут десять бьюсь головой ап стену =(
Levsha100 вне форума Ответить с цитированием
Старый 17.03.2010, 20:58   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

это весь код? ) и какая версия компилятора у вас?
у меня на darwin-gcc 4.2 компилируется без ошибок сие
netrino вне форума Ответить с цитированием
Старый 17.03.2010, 21:03   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Вот весь код до строчки(включаяя их), где вылетают ошибки.
Код:
/* A simple program to show how to set up an X window for OpenGL rendering.
 * X86 compilation: gcc -o -L/usr/X11/lib   main main.c -lGL -lX11
 * X64 compilation: gcc -o -L/usr/X11/lib64 main main.c -lGL -lX11
 */

#include <stdio.h>
#include <stdlib.h>

#include <GL/glx.h>    /* this includes the necessary X headers */
#include <GL/gl.h>

#include <X11/X.h>    /* X11 constant (e.g. TrueColor) */
#include <X11/keysym.h>

struct Particle
{
    double X, Y, Z;
    double VX, VY, VZ;
    double BufX,BufY, BufZ;
};

const int ParticlesCount = 1;


static int snglBuf[] = {GLX_RGBA, GLX_DEPTH_SIZE, 16, None};
static int dblBuf[]  = {GLX_RGBA, GLX_DEPTH_SIZE, 16, GLX_DOUBLEBUFFER, None};


Display   *dpy;
Window     win;
GLfloat    xAngle = 42.0, yAngle = 82.0, zAngle = 112.0;
GLboolean  doubleBuffer = GL_TRUE;
Particle Particles[ParticlesCount];
Компилятор GNU GCC Compiler, версии не знаю.
Среда Code::Blocks, под убунту.

Без строчек с объявлением и юзанием класса/структуры все отлично компилится!
Levsha100 вне форума Ответить с цитированием
Старый 17.03.2010, 21:08   #4
Indian
Форумчанин
 
Регистрация: 23.02.2010
Сообщений: 107
По умолчанию

Это же Си.
Код:
struct Particle
{
    double X, Y, Z;
    double VX, VY, VZ;
    double BufX,BufY, BufZ;
};
...
struct Particle Particles[ParticlesCount];
Indian вне форума Ответить с цитированием
Старый 17.03.2010, 21:10   #5
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Levsha100
Цитата:
const int ParticlesCount = 1;
Particle Particles[ParticlesCount];
в сях (судя каментам, код у тебя на сях) константа - на самом деле не константа, а всего лишь readonly значение. ты не можешь его использовать в слздании статических массивов.

и чет я тебя не пойму. пишешь на сях, а вопрос про класс.
ну да, и struct конечтож.

пс. если компилишь с флагом c99, то все должно быть норм
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 17.03.2010 в 21:13.
pproger вне форума Ответить с цитированием
Старый 17.03.2010, 21:22   #6
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Я идиот!
Думал что пишу на плюсах а писал на Си
А про константу, это я во время устранения этого бага исправил, ибо пробовал все варианты.
Спасибо всем =)
Levsha100 вне форума Ответить с цитированием
Старый 17.03.2010, 21:37   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Думал что пишу на плюсах а писал на Си
С кем не бывает, просто компилировать надо было не в gcc а в g++


upd

Извиняюсь, не заметил, что Code Blocks юзаешь. Думаю, что через консоль компилируешь.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странности в Builder 6 Foxtrod C++ Builder 10 03.10.2009 01:09
Странности Chrome` а ]Wowan[ Софт 1 27.04.2009 04:11
Странности FireBird (Создание пользователей) KiSH333 БД в Delphi 1 10.03.2009 12:39
Странности в работе с событием OnTimer Mixasik Общие вопросы Delphi 3 17.01.2009 01:22
Ругается компилятор JSM Общие вопросы Delphi 2 17.06.2007 23:04