T>
ostream& operator<<(ostream& os, vector<T>&& vec) {
for (auto elem : vec) {
os << elem << " ";
}
os << "\n";
return os;
}g++ -std=c++11 ругается вот так и ссылается на move.h
assignment of read-only reference '__a'|Как сделать так, как я хочу?
Возможно for( const auto & : vec)
const auto &elem
У меня все работает (компилируется): https://godbolt.org/z/V-jIyQ IMHO, для таких задач полезно давать ссылку на "божественный болт" или другой сайт, где этот код можно посмотреть целиком.
template<class T> ostream& operator<<(ostream& os, const T& cont) { for (const auto &elem : cont) { os << elem << " "; } os << "\n"; return os; }
Обсуждают сегодня