C++ 用C+在二维向量上迭代+;

C++ 用C+在二维向量上迭代+;,c++,vector,C++,Vector,我已经多年没有使用C/C++了,我正在尝试复习基础知识,我有一个问题需要在3D向量上迭代: #include <string> #include <vector> #include <iterator> int main() { std::vector< std::vector<std::string> &g

我已经多年没有使用C/C++了,我正在尝试复习基础知识,我有一个问题需要在3D向量上迭代:

#include        <string>
#include        <vector>
#include        <iterator>

int                                             main() {
  std::vector< std::vector<std::string> >       container;
  std::vector<std::string>                      table;
  std::string                                   line;

  for (int container_it = 0; container_it < 2; container_it++) {
    for (int table_it = 0;  table_it < 5 ; table_it++) {
      line = "TEST";
      table.push_back(line);
    }
    container.push_back(table);
  }


  for (std::vector< std::vector<std::string> >::iterator container_it = container.begin(); container_it != container.end(); container_it++)
    for (std::vector<std::string>::iterator it = (*container_it)->begin(); it != (*container_it)->end(); it++)
      std::cout << *it << std::endl;
}
#包括
#包括
#包括
int main(){
std::vector容器;
std::向量表;
std::字符串行;
对于(int-container\u-it=0;container\u-it<2;container\u-it++){
对于(int table_it=0;table_it<5;table_it++){
line=“测试”;
表。推回(线);
}
容器。推回(桌子);
}
对于(std::vector::迭代器容器_it=container.begin();container_it!=container.end();container_it++)
对于(std::vector::iterator it=(*container_it)->begin();it!=(*container_it)->end();it++)
std::cout'具有非指针类型“std::vector”

我同意chris的观点,我在这里只看到了两个维度,代码有一些语法错误,但看起来像这行:

for (std::vector<std::string>::iterator it = (*container_it)->begin(); it != (*container_it)->end(); it++)
for(std::vector::iterator it=(*container_it)->begin();it!=(*container_it)->end();it++)
应该是:

for (std::vector<std::string>::iterator it = (*container_it).begin(); it != (*container_it).end(); it++)
for(std::vector::iterator it=(*container\u it).begin();it!=(*container\u it).end();it++)
或者更简单地说:

for (std::vector<std::string>::iterator it = container_it->begin(); it != container_it->end(); it++)
for(std::vector::iterator it=container\u it->begin();it!=container\u it->end();it++)

我看到了两个维度。。。
for (std::vector<std::string>::iterator it = container_it->begin(); it != container_it->end(); it++)