这是我的问题:
假设您的程序包含用于创建动态分配的数组的代码,如下所示:
int * entry;
entry = new int [10];
以便指针变量条目指向此动态分配的数组。编写代码来填充此数组,并在键盘输入10个数字。
我已经阅读了这本书两天了,但仍然无法理解这一点。
这是我正在尝试的代码,但它在第17行给出了一个错误:无操作符匹配这些操作数“<<”。我已经检查了msdn和其他几个网站,但我无法弄清楚这一点。任何帮助将不胜感激。
#include <iostream>
using namespace std;
int main()
{
int * entry;
entry = new int [10];
int array_size = 10;
int num;
for(int i = 0; i< array_size; i++)
entry[i] = i;
for(int i = 0; i < array_size; i++)
{
cout << "Enter an int into the array: " << endl;
cin << entry[i] << endl;
}
return 0;
}
答案 0 :(得分:6)
您有一个错误的流操作符方向:使用cin >> entry[i];
。记住这个问题的好方法是将操作符视为箭头:对于输出,您将要输出的内容指向cout
,对于输入,您将值从cin
指向变量应存储输入。
默认情况下,cin >> ...
会自动处理空格(空格,制表符,换行符),因此也不需要>> endl
。
最后,之前的循环设置entry[i] = i;
在当前程序中没有任何用处,因为当用户输入其值时,所有条目都会被覆盖。