![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Pieris |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.4.2009 Где: Питер Репутация: 1 Всего: 1 |
привожу полный код:
а ругается на др. фукцию:
|
||||
|
|||||
Cheloveck |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 3 Всего: 32 |
У меня, допустим, не компилится даже одна (g++ 4.3.3-2)(gcc то же самое)... И ещё, компилятор от майкрософт вообще не потдерживает массивы с переменной длиной. Это сообщение отредактировал(а) Cheloveck - 25.4.2009, 00:03 -------------------- ![]() |
||||
|
|||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Как я и предполагал - это чудо на BDS компилиться не хочет.
Я бы делал так:
|
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
Anikmar, а нафига тогда первые 2 параметра у этих ф-ций?
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
Pieris |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.4.2009 Где: Питер Репутация: 1 Всего: 1 |
да всё бы хорошо, только аргументы функций заданные в начале( int x, int y и тд) и есть переменные, описывающие размерность массива, и именно поэтому они объявляются раньше массива, стандарт С99 даже регламентирует форму записи без указния имен переменных в прототипах функций, использующих массивы переменной длины - вот так:
я это тоже пробовал, но в этом случае gcc честно признался, что он ещё не поддерживает это нововведение стандарта С99 |
||||||
|
|||||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
||||
|
||||
Pieris |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.4.2009 Где: Питер Репутация: 1 Всего: 1 |
Chelovek, ты вот пишешь:
это и должно так быть потому что С99 это точка расхождения Си и С++, компилятор С++ и не будет это компилить, даже с одной такой функцией.Массивы переменной длины включены в стандарт си для облегчения исп. библиотек FORTRAN, кот. славится своими функциями для научных расчетов. Попробуй откомпилить задав компилятором по умолчанию Си, а не С++. |
|||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
gcc-3.4 сломан: http://gcc.gnu.org/gcc-3.4/c99status.html http://gcc.gnu.org/ml/gcc-bugs/2004-04/msg02261.html Добавлено через 2 минуты и 20 секунд я вам вообще рекомендую забить на эту мертвую фичу - переходите на С++ и юзайте динамические массивы |
|||
|
||||
Pieris |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.4.2009 Где: Питер Репутация: 1 Всего: 1 |
J0ker, спасибо, я думаю это и есть ответ, а переходить на С++ мне рановато, там более я решил сначала в достаточной мере освоить чистый Си.
Я уже было руки опустил, но тут неожиданно посоветовали включить опцию командной строки -std=c99, в среде Dev-C++ это делается(для тех кому придется сталкиваться) через Сервис-Параметры компилятора- и на первой вкладке поставить галочку напротив "Добавить следующие команды к запуску компилятора", после чего в поле пониже написать -std=c99 (и ессно ОК). Но есть одна особенность - при включенной опции Оптимизации, компилер даже при исп. опции -std=c99 не компилит, так что её придется отключить. Одним словом решение надено, я думаю тема закрыта! ![]() Это сообщение отредактировал(а) Pieris - 25.4.2009, 11:51 |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Золотые слова. Я даже сперва не врубился - что это за прикол. Ох... Чем изучать умирающие фичи - лучше сразу на плюсы. ИМХО: гораздо тяжелее переходить на плюсы хорошо освоив С, чем его зная чисто поверхностно. |
|||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
||||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
а лучше не быть таким категоричным плюсы не панацея и зачастую код только усложняется как в плане его понимания, так и в низкоуровневой реализации семантики -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
ну само-собой автомобиль-то завсегда сложнее велосипеда ![]() это смотря какую семантику реализовавать например если из автомобиля реализовывать семантику велосипеда, то да, усложняется тока нахрена оно надо? искусства ради? ну так мы уже наблюдали потуги реализации семантики автомобиля велосипедами - и смех и грех ![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Ну я не на столько категоричен, чтобы плюсы назвать панацеей. Я так думаю только в сравнение конкретно Си и плюсов. Например сравнивать плюсы и делфи я не возьмусь ( в виду плохого знания делфи). А плюсы и С сравнивать могу - так как сам начинал с Си. И считаю, что нет вещей, которые с одинаковой трудоемкостью можно было бы сделать на СИ и нельзя на плюсах, а вот наоборот - спорно. Так что думаю все-таки плюсы более стоящая для изучения вещь. |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
Anikmar,
не вижу преимуществ С++ перед С ООП упоминать не стОит ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |