Я нашел это в одной из моих библиотек сегодня утром:
static tvec4 Min(const tvec4& a, const tvec4& b, tvec4& out)
{
tvec3::Min(a,b,out);
out.w = min(a.w,b.w);
}
Я ожидаю ошибку компилятора, потому что этот метод ничего не возвращает, а тип возврата не является void
.
Единственная вещь, которая приходит на ум, - это
-
В единственном месте, где вызывается этот метод, возвращаемое значение не используется или не сохраняется. (Этот метод должен был быть
void
- возвращаемый типtvec4
является ошибкой копирования и вставки) -
создается созданная по умолчанию конструкция
tvec4
, которая кажется немного не похожей, а, все остальное на С++.
Я не нашел часть спецификации С++, которая обращается к этому. Ссылки (га) оценены.
Обновление
В некоторых случаях это создает ошибку в VS2012. Я не сузил специфику, но это интересно, тем не менее.