所以我试图创建一个C ++程序,该程序读入一个数字列表(用户输入由空格分隔的5个数字的列表)并打印出反转列表。到目前为止,这就是我所拥有的:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#pragma warning(disable: 4996)
using namespace std;
int* get_Number() {
int* p = new int[32];
cout << "Please enter a list of 5 numbers, separated by spaces" << endl;
cin >> p;
return p;
};
int* reverseArray(int* numArray)
{
}
我的问题是我不断收到此错误:
Error: no operator ">>" matches these operands. Operand types are: std::istream >> int *
在cin >> p
行。
我做错了什么?我是C ++的新手,非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
这个怎么样?
#include <iostream>
int main(int argc, char* argv[])
{
int nums[5];
std::cout << "Please enter a list of 5 numbers, separated by spaces" << std::endl;
for (int i = 0; i < 5; ++i)
std::cin >> nums[i];
for (int i = 0; i < 5; ++i)
std::cout << nums[i];
return 0;
}
答案 1 :(得分:1)
您的意思是cin >> p[i]
,其中i
是您的代码中缺少的索引吗?
目前你正在阅读一个指针,但你打算读入你的数组,对吗?
试试这个
int* get_Number() {
int* p = new int[32];
for (int i = 0; i < 5; i++)
{
cout << "Please enter a number" << endl;
cin >> p[i];
}
return p;
};
答案 2 :(得分:1)