首页 > 解决方案 > 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”

标签: c++vectoriterator

解决方案


正如@yzt 和@Stephen Newell 所说,我的IDE 已经过时了。更新到较新版本后,代码按预期执行。此外,如@Jerry Jeremiah 和@Stephen Newell 所述, () 需要回到原来的 {}。我对过时 IDE 的理解直接来自 @yzt 的评论。谢谢你们。


推荐阅读