реклама на сайте
подробности

 
 
> Еще глюк кейловского компилятора
777777
сообщение Aug 31 2011, 05:57
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Код
void ErrOptions()
    {
    Reply.Stat = 15;
    SendReply();
    }

void Options()
    {
    ...
    ...
    if(Command.Data[i++] >= ZOND_SIZE)
        return ErrOptions();
    }


error: #118: a void function may not return a value

На самом деле void function может возвращать void value, "возвращаемое" другой void функцией.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Aug 31 2011, 06:14
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Не приведет он таких примеров. Старый добрый VS 6.0:

Код
C:\my_proj\VC++\classtst\main.cpp(23) : error C2562: 'Options' : 'void' function returning a value


Go to the top of the page
 
+Quote Post
777777
сообщение Aug 31 2011, 06:30
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(sergeeff @ Aug 31 2011, 10:14) *
Не приведет он таких примеров. Старый добрый VS 6.0:

Код
C:\my_proj\VC++\classtst\main.cpp(23) : error C2562: 'Options' : 'void' function returning a value


Да, верно, в VC 6.0 тоже был такой глюк, но уже в VC 7.1 его исправили. AVR Studio тоже успешно компилрует такой код, при этом многие считают gcc за эталонный компилятор. Наконец, об этом напрямую написано в стандарте.

Цитата(GetSmart @ Aug 31 2011, 10:26) *
Чужие значит чужие.

Меня не интересуют чужие программы.
Цитата(GetSmart @ Aug 31 2011, 10:26) *
На чём основано ваше заявление в конце первого поста?

На стандарте Си. Если угодно, я покопаюсь и найду это место, но я точно знаю что оно есть, так как на эту тему несколько лет назад была дискуссия в rsdn.ru о компиляторе VC 6.0, после чего этот глюк исправили в VC 7.1.

Сообщение отредактировал 777777 - Aug 31 2011, 06:31
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 31 2011, 06:49
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(777777 @ Aug 31 2011, 10:30) *
На стандарте Си. Если угодно, я покопаюсь и найду это место, но я точно знаю что оно есть, так как на эту тему несколько лет назад была дискуссия в rsdn.ru о компиляторе VC 6.0, после чего этот глюк исправили в VC 7.1.


Действительно, VS 2008 sp1 съедает все молча. Но я бы все равно так никогда не написал. Тема для ненужного напряжения головы через некоторое время.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 06:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0141 секунд с 7
ELECTRONIX ©2004-2016