это код, я бегу:печать содержимое 2d вектора
std::vector<std::vector<double>> test;
test.push_back(std::vector<double>(30));
std::vector<std::vector<double> >::iterator it=test.begin(), end=test.end();
while (it!=end) {
std::vector<double>::iterator it1=it->first.begin(),end1=it->first.end();
while (it1!=end1) {
std::copy(it1.begin(),it1.end(),std::ostream_iterator<double>(std::cout, " "));
++it1;
}
++it;
}
это ошибка компиляции я получаю:
data.cpp:33:45: error: ‘class std::vector<double>’ has no member named ‘first’
data.cpp:33:68: error: ‘class std::vector<double>’ has no member named ‘first’
data.cpp:35:16: error: ‘class std::vector<double>::iterator’ has no member named ‘begin’
data.cpp:35:28: error: ‘class std::vector<double>::iterator’ has no member named ‘end’
data.cpp:35:34: error: ‘ostream_iterator’ is not a member of ‘std’
data.cpp:35:56: error: expected primary-expression before ‘double'
какие-либо предложения о том, как это исправить, так что я могу напечатать содержание теста
Незначительное предложение: поскольку вы не изменяете свой 2D-вектор через итераторы, а просто читаете его элементы, используйте 'std :: vector :: const_iterator' –
@BojanKomazec, спасибо за предложение. Я сделаю исправление – user1155299