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

 
 
> Еще глюк кейловского компилятора
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
Ответов
scifi
сообщение Aug 31 2011, 08:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(777777 @ Aug 31 2011, 09:57) *
На самом деле void function может возвращать void value, "возвращаемое" другой void функцией.

Цитата(777777 @ Aug 31 2011, 10:30) *
На стандарте Си.

Это утверждение неверное. Во всяком случае, если опираться на стандарт C99:

Цитата
The (nonexistent) value of a void expression (an expression that has type void) shall not be used in any way

Цитата
A return statement with an expression shall not appear in a function whose return type is void. A return statement without an expression shall only appear in a function whose return type is void.
Go to the top of the page
 
+Quote Post



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

 


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


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