Я пишу служебную функцию, которая принимает вектор элементов (может быть string, int, double, char), объединяется в одну строку и возвращает ее. Выглядит это так:
template<typename T>
std::string convert2Str(std::vector<T> const& vec)
{
std::ostringstream sStream;
for (size_t k=0; k<vec.size(); ++k) {
sStream << vec[k] << " ";
}
return sStream.str();
}
Я хотел бы сделать эту функцию более общей:
vector
. Я пробовал это
std :: vector :: const_iterator it = vec.begin ()
перед циклом, и компилятор выдал мне ошибку:
: error: ожидается ;
перед ней
Когда я изменяю приведенные выше определения на std :: vector :: const_iterator it = vec.begin ()
, ошибка исчезает. Итак, похоже, я не следую правильному синтаксису, дайте мне знать, что это такое вектор
, список
, очередь
, deque
и т. Д.) Я хочу сделать то же самое, что и выше. Я попытался найти это в stackoverflow и не нашел удовлетворительного ответа.