C++ C++;迭代器问题

C++ C++;迭代器问题,c++,xcode,iterator,C++,Xcode,Iterator,所以我花了整整30分钟的时间试图为列表找到一个运行的迭代器,想知道我到底做错了什么,但现在我可以说我真的很困惑,除非是xcode问题。我最初尝试创建一个迭代器(listIterator),xcode将返回错误“Expected”(“对于函数样式转换或类型构造”.然而,在厌倦了尝试之后,我复制并粘贴了一行我在堆栈上其他地方找到的代码,以初始化迭代器,谢天谢地,它工作得非常完美。我的问题是,这两行代码完全相同,但只有一行出错 有人能告诉我为什么xcode只识别第二个错误吗 谢谢您正在声明一个名为li

所以我花了整整30分钟的时间试图为列表找到一个运行的迭代器,想知道我到底做错了什么,但现在我可以说我真的很困惑,除非是xcode问题。我最初尝试创建一个迭代器(listIterator),xcode将返回错误“Expected”(“对于函数样式转换或类型构造”.然而,在厌倦了尝试之后,我复制并粘贴了一行我在堆栈上其他地方找到的代码,以初始化迭代器,谢天谢地,它工作得非常完美。我的问题是,这两行代码完全相同,但只有一行出错

有人能告诉我为什么xcode只识别第二个错误吗


谢谢

您正在声明一个名为
list
的变量。因此,错误行中的
list
引用了该变量。我假设您使用namespace std;执行了类似于
的操作-这是一个示例,说明了为什么您永远不应该执行该操作。然后您可以:

 std::list<int> myIntList;
 std::list<int>::iterator myIntListIterator;

 std::list<int> list;
 std::list<int>::iterator listIterator;
std::list myIntList;
std::list::迭代器myIntListIterator;
std::列表;
标准::列表::迭代器列表迭代器;

然而,在一个实际的程序中,我不认为仅仅
list
是一个合适的变量名,因为它表示类型而不是使用。

您正在声明一个名为
list
的变量。因此,错误行中的
list
引用了该变量。我假设您做了类似
的事情ing namespace std;
-这是一个例子,说明了为什么您永远不应该这样做。然后您可以:

 std::list<int> myIntList;
 std::list<int>::iterator myIntListIterator;

 std::list<int> list;
 std::list<int>::iterator listIterator;
std::list myIntList;
std::list::迭代器myIntListIterator;
std::列表;
标准::列表::迭代器列表迭代器;

然而,在一个实际的程序中,我不认为仅仅
list
是一个合适的变量名,因为它表示类型而不是使用。

Ahh,这很有意义!我可能应该注意这个警告并开始键入我的std:'s@sonobenissimo你不必一开始就输入std::for everything,对于你特别需要的东西,“使用std::cout”等就足够了。啊,这很有道理!我可能应该注意一下警告,开始输入我的std:'s@sonobenissimo你不必一开始就输入std::for everything,只需输入“using std::cout”等即可你特别需要的东西。