C++ 向量实现的问题

问题描述

因此,我从教科书中复制的一些代码遇到了一个有趣的问题。我喜欢输入这些小示例程序并运行它们以帮助自己理解它们。话虽如此,我实际上是逐字逐句地输入这个程序,但是在点击编译和运行后我收到了一个错误。我不确定它是否与我的 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 评论的直接贡献。谢谢大家。