this is the code I am running:
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;
}
this is the compilation error I get:
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'
any suggestions on how to fix it so I can print the contents of test
I think this is more what you want.
You don’t want first because your vector doesn’t contain pairs, and you don’t need to loop based on it1 and end1 because they denote the range you pass to copy.