[gcc] ошибка компиляции

mama10001

Не могу догнать в чем дело

1589 for (int i = 0; i < polygons.GetSize; i++) {
1590 MPolygon *or = polygons[i];
1591 or->prizma.RemoveAll;

Вот что выдает gcc-3.3.1 cygwin:

src/TargetAdvanced.cpp:1590: error: syntax error before `||' token

gcc-3.4.4 linux:

src/TargetAdvanced.cpp:1590: error: expected primary-expression before '*' token
src/TargetAdvanced.cpp:1590: error: expected primary-expression before '||' token
src/TargetAdvanced.cpp:1590: error: expected primary-expression before '=' token

Visual C++.Net – OK

Dasar

где-то в gcc подцепляется define, который заменяет 'or' на '||'

bobby

Я бы тоже не стал компилить те строки, что ты привел.
Мало того, что там куча необъявленных переменных и типов, так ещё и фигурная скобка не закрыта.

vall

хыхы
как будто где-то стоит
#define or ||

bobby

ыыы?
серьезно?

Dasar

> серьезно?
судя по текстам ошибок - да

evgen5555

Интересно тогда, что же получается в результате компиляции на VC++.

bobby

Видимо, там где-то
#ifndef WIN32
#define or ||
#endif

vall

чтоб проверить -- прогони препроцессором и посмотри так ли это.

Dasar

> Интересно тогда, что же получается в результате компиляции на VC++.
замечание - не понял.
В VC++ все нормально, потому что такого define-а - нет.
а в gcc, где-то в системных(библиотечных) заголовочных файлах - такой define есть, и отсюда и лезет ошибка компиляции.

Dasar

> Видимо, там где-то
слишком хитрое предположение, такое бывает редко
чаще - это то, что библиотечные файлы у разных компиляторов чуть-чуть отличаются.

vall

переименуй переменную короче

enochka1145

Всё уже сказано. В Standard C++ "or" это "||".

mira-bella

+1
iso/iec 14882-2003 (параграф 2.11 таблица 4)

kruzer25

or --- системное имя, чего же ты хотел?
---
...Я работаю...

vall

а про begin/end там ничего не написано?

mama10001

Всем спасибо! дело было дйствительно в этом

mira-bella

а про begin/end там ничего не написано?
возьми и почитай

Igos

Кстати почему то очень многие про begin и end забывают... Невнимательность наверное...
Оставить комментарий
Имя или ник:
Комментарий: