std::istream 的运算符类型无效?
Invalid operator type of std::istream?
所以我正在尝试创建一个 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++ 的新手,非常感谢任何帮助,谢谢!!
您的意思是 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;
};
你最好使用 getline
string line;
cin.getline(line);
它会为你做一些很好的事情,比如调整它的大小。
这个怎么样?
#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;
}
所以我正在尝试创建一个 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++ 的新手,非常感谢任何帮助,谢谢!!
您的意思是 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;
};
你最好使用 getline
string line;
cin.getline(line);
它会为你做一些很好的事情,比如调整它的大小。
这个怎么样?
#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;
}