关于动态分配的数组和指针的家庭作业帮助

时间:2013-02-09 01:32:04

标签: c++

这是我的问题:

假设您的程序包含用于创建动态分配的数组的代码,如下所示:

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;
}

1 个答案:

答案 0 :(得分:6)

您有一个错误的流操作符方向:使用cin >> entry[i];。记住这个问题的好方法是将操作符视为箭头:对于输出,您将要输出的内容指向cout,对于输入,您将值从cin指向变量应存储输入。

默认情况下,cin >> ...会自动处理空格(空格,制表符,换行符),因此也不需要>> endl

最后,之前的循环设置entry[i] = i;在当前程序中没有任何用处,因为当用户输入其值时,所有条目都会被覆盖。