C++迭代器在Visual C++中破解而不是GNU g ++

gjo*_*son -2 c++ gcc visual-c++

我正在尝试更多地了解列表容器以及如何迭代它们,但似乎g ++没有问题,但Visual Studio C++遍布各处!

#include <iostream>
#include <string>
#include <list>

using namespace std;

int main(){

   list <string> data;
   list <int>::iterator it;

   data.push_back("fee");
   data.push_back("fi");
   data.push_back("foo");
   data.push_back("fum");

   // something breaks back here ?!?!
  for(it=data.begin(); it!=data.end(); it++){
     cout << *it << endl;
  }

  return 0;

}
Run Code Online (Sandbox Code Playgroud)

Ada*_*itz 17

尝试

list<string>::iterator
Run Code Online (Sandbox Code Playgroud)

代替

list<int>::iterator.
Run Code Online (Sandbox Code Playgroud)


Jes*_*der 11

gcc也应该在这里"呕吐"(它对我而言).您将a分配list<string>::iterator给a list<int>::iterator,它们是不同的类型.