错误:与“ operator >>”不匹配(操作数类型为“ std :: istream {aka std :: basic_istream <char>}”和“ std :: vector <double>”)

时间:2018-07-19 08:10:54

标签: c++

这是我的第一个StackOverflow。

运行代码时,出现此错误:

error: no match for 'operator>>' (operand types are 'std::istream {aka 
std::basic_istream<char>}' and 'std::vector<double>')

错误在第9行,但我不知道为什么。

这是我的代码:

1 #include <vector>
2 #include <iostream>
3 using namespace std;
4
5 int main() {
6
7    vector<double> numbers[10];
8    for (int i=0;i<10;i++) {
9        cin >> numbers[i];
10    }
11 }

该数字用于行,它们实际上不在代码中。

基本上,我要创建一个程序,要求我输入10个数字。

哦,我差点忘了!我使用的是Code :: Blocks版本17.12。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您已经获得了所问问题的答案,但是我建议您进一步走下去:消除for循环,也不要麻烦指定向量的大小:

vector<double> numbers;

copy_n(istream_iterator<double>(cin), 10, back_inserter(numbers));

哦,还有另外一个细节-您可能想打破(或永远不要养成using namespace std;的习惯-这会导致问题。