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++的新手,任何帮助都将非常感激,谢谢!!
这个怎么样?
#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;
}
你最好使用getline
string line;
cin.getline(line);
它会为你做一些很好的事情,比如调整大小
您的意思是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;
};
相关文章:
- 具有引用返回类型的重写方法上的协变返回类型无效
- 使用 std::future 的不完整类型无效使用
- 类指针和类指针指向二进制运算符+的类型无效的操作数
- 静态类模板成员:将"sizeof"应用于不完整类型无效
- 数组的类型无效
- 返回并强制转换数组指针(错误:数组下标的类型..无效)
- 错误:数组下标'double*[double]'的类型无效
- 数组下标错误的类型无效
- 协变返回类型无效的转换错误
- 在代码块错误中收到此错误:数组下标'main()::fields[int]'的类型无效
- 3 错误:错误:未在此范围内声明'Entry'。错误:模板参数 1 无效。错误:令牌之前声明中的类型无效'('
- 类成员数组的实现:数组下标的类型无效
- 别名模板、部分专用化和无效参数类型无效
- 数组下标'int [5][float]'的类型无效
- 数组下标的类型无效
- 是否存在对类型名称有效但对基本类型无效的语言构造
- 编译错误 - 数组下标'char[int]'的类型无效
- 使用指向结构数组的指针的参数类型无效
- 使用类模板初始化下标重载函数中的引用类型无效
- 对模板和decltype使用不完整类型无效