问题描述
因此,我从教科书中复制的一些代码遇到了一个有趣的问题。我喜欢输入这些小示例程序并运行它们以帮助自己理解它们。话虽如此,我实际上是逐字逐句地输入这个程序,但是在点击编译和运行后我收到了一个错误。我不确定它是否与我的 IDE 有关。这是程序,下面是错误。提前感谢您的任何帮助
//use of iterator,begin,and end
#include <iostream>
//include iterators
#include <iterator>
//include vectors for use
#include <vector>
using namespace std;
//the main function
int main() {
vector<int> myVector = (10,20,30,40,50);
//declare iterator
vector<int>::iterator
myIterator;
cout << "My vector values are: ";
//use begin and end to print values to screen
for(myIterator = myVector.begin(); myIterator <
myVector.end(); myIterator++) {
cout << * myIterator << " " ;
} //end of for loop
return 0;
} //end main
错误在第 14 行,如下所示。同样,这个程序是从我的教科书中每行输入一行的,所以我可以学习它,但是当我编译和运行时它不起作用。我还尝试将向量中值周围的 () 更改为 {},但这样做后仍然出现错误。
14 44 C:\Users\hulkg\OneDrive\Documents\C++ 代码示例\Iterator_begin_end.cpp [错误] 请求从“int”到非标量类型“std::vector”的转换
解决方法
正如@yzt 和@Stephen Newell 所说,我的IDE 已经过时了。更新到较新版本后,代码按预期执行。此外,如@Jerry Jeremiah 和@Stephen Newell 所述, () 需要返回其原始 {}。我对过时 IDE 的理解是来自 @yzt 评论的直接贡献。谢谢大家。