2

这是我的问题:

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

int * entry;
entry = new int [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;
}
4

1 回答 1

6

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

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

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

于 2013-02-09T01:38:50.047 回答