Re[2]: странный warning
От: -MyXa- Россия  
Дата: 11.11.09 19:39
Оценка: 1 (1)
Здравствуйте, Tilir, Вы писали:

T>Дело в том, что throw попадает под return.


Неа. Warning пропадает, если возвращать значение (не ссылку).

T>Забавный кстати случай поскольку throw index имеет вообще-то тип void. И почему компилятор вообще разрешает return condition ? int : void -- загадка.


Ага! Вот из стандарта:

5.16.2 If either the second or the third operand has type (possibly cv-qualified) void, then the lvalue-to-rvalue, array-to-pointer, and function-to-pointer standard conversions are performed on the second and third operands, and one of the following shall hold:

— The second or the third operand (but not both) is a throw-expression; the result is of the type of the other and is an rvalue.

И зачем так сделали? Или это не относится к моему вопросу?
Если не поможет, будем действовать током... 600 Вольт (C)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.