Re[3]: странный warning
От: Николай Ивченков  
Дата: 11.11.09 20:18
Оценка:
-MyXa-:

MX>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:


MX>— 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.


MX>И зачем так сделали?


Я бы тоже хотел узнать ответ на этот вопрос В стандарте даже не сказано, каким образом должно получаться это rvalue (возможные варианты: это может быть либо гарантированно исходный объект, либо copy-initialized temporary object, либо copy constructed temporary object).

MX>Или это не относится к моему вопросу?


Относится. Компилятор считает, что ты пытаешься вернуть по ссылке временный объект, который по выходе из функции существовать не будет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.