История изменений
Исправление Siborgium, (текущая версия) :
Прикладывай минимальный пример своей лапши и вывод компилятора, если хочешь получить ответ.
#include <iostream>
#include <list>
template <typename T>
void foo(std::list<T> arrayList) {
const int iSize = 10;
srand(time(0));
for (int i = 0; i < iSize; i++)
arrayList.push_back(rand() % iSize);
for (typename std::list<T>::iterator it = arrayList.begin(); it != arrayList
.end(); it++)
std::cout << (*it) << " ";
}
int main() {}
Тебе нужно добавить typename
, т.к. iterator
– имя в «dependent scope». Впрочем, это все написано в выхлопе компилятора, который ты даже не озаботился прочесть.
Код, кстати, ужасен. Никакой причины так писать в 2020 нет. Используй хотя бы auto
и не морочь людям голову.
Еще и древний g++.
Исправление Siborgium, :
Прикладывай минимальный пример своей лапши и вывод компилятора, если хочешь получить ответ.
#include <iostream>
#include <list>
template <typename T>
void foo(std::list<T> arrayList) {
const int iSize = 10;
srand(time(0));
for (int i = 0; i < iSize; i++)
arrayList.push_back(rand() % iSize);
for (typename std::list<T>::iterator it = arrayList.begin(); it != arrayList
.end(); it++)
std::cout << (*it) << " ";
}
int main() {}
Тебе нужно добавить typename
, т.к. iterator
– имя в «dependent scope». Впрочем, это все написано в выхлопе компилятора, который ты даже не озаботился прочесть.
Код, кстати, ужасен. Никакой причины так писать в 2020 нет. Используй хотя бы auto
и не морочь людям голову.
Исправление Siborgium, :
Прикладывай минимальный пример своей лапши и вывод компилятора, если хочешь получить ответ.
#include <iostream>
#include <list>
template <typename T>
void foo(std::list<T> arrayList) {
const int iSize = 10;
srand(time(0));
for (int i = 0; i < iSize; i++)
arrayList.push_back(rand() % iSize);
for (typename std::list<T>::iterator it = arrayList.begin(); it != arrayList
.end(); it++)
std::cout << (*it) << " ";
}
int main() {}
Тебе нужно добавить typename
, т.к. iterator
– имя в «dependent scope». Впрочем, это все написано в выхлопе компилятора, который ты даже не озаботился прочесть.
Код, кстати, ужасен. Никакой причины так писать в 2020 нет. Используй хотя бы auto
и не морочь людям голову.
Исходная версия Siborgium, :
Прикладывай минимальный пример своей лапши и вывод компилятора, если хочешь получить ответ.
#include <iostream>
#include <list>
template <typename T>
void foo(std::list<T> arrayList) {
const int iSize = 10;
srand(time(0));
for (int i = 0; i < iSize; i++)
arrayList.push_back(rand() % iSize);
for (typename std::list<T>::iterator it = arrayList.begin(); it != arrayList
.end(); it++)
std::cout << (*it) << " ";
}
int main() {}
Тебе нужно добавить typename
, т.к. iterator
– имя в «dependent scope». Впрочем, это все написано в выхлопе компилятора, который ты даже не озаботился прочесть.