&&rv) 
                  
                  
                  {
                  
                  
                      for (const _type& value : rv)
                  
                  
                          lv << value << ' ';
                  
                  
                      return lv;
                  
                  
                  }
                  
                  
                  
                  
                  
                  int main(int, char**) 
                  
                  
                  {
                  
                  
                      std::cout << { 1, 2, 3, 4, 5 } << std::endl;
                  
                  
                  }
                  
                  
                  
                  
                  
                  Почему это не работает? В этом случае { 1, 2, 3, 4, 5 } это prvalue чтоль?
                  
                  
                
Оно-то prvalue, но да и что? Судя по ошибке, это прямо запрещено стандартом. Я, правда, не нашёл
Блин, а можно было бы класные вещи делать. Напиши, если найдёшь почему нельзя.
зато можно так for (const auto& value: { 1, 2, 3, 4, 5 }) { std::cout << value << ' '; }
Обсуждают сегодня