执行具有转换错误的过程
Executing a procedure with conversion error
#include<iostream>
using namespace std;
void MinMax(int tab[],int* min, int& max)
{
int size=0;
for(int i=0; i<4095; i++)
{
if(tab[i]==-1) break;
size++;
}
size=(int)size;
for(int passes=0; passes<size; passes++)
{
if(tab[passes]<tab[passes+1])
{
swap(tab[passes],tab[passes+1]);
};
}
min=tab[size];
cout<<min<<" ";
for(int passes=0; passes<size; passes++)
{
if(tab[passes]>tab[passes+1])
{
swap(tab[passes],tab[passes+1]);
};
}
max=tab[size];
cout<<max<<" ";
}
int main()
{
int z1[]= {10,2,5,7,4,-1};
int min, max;
MinMax(z1,min,max);
for(int i=0; i<7; i++)
{
cout<<z1[i]<<" ";
}
}
我需要在主函数的 z1 中写入一些值,然后执行 MinMax。它应该从数组中找到最小和最大的值。第一个问题是当我尝试编译它时,存在关于将 int 转换为 int* 的 en 错误,我无法将 tab[size] 分配给 min。在执行 MinMax 时,我还应该使用 2 个 intiger,但它不起作用。
void MinMax(int tab[],int* min, int& max)
// ^
这似乎是一个错字。
考虑到你传递论点的方式,以及你在MinMax
内部使用它的方式,我怀疑你的意思是int&
,就像你对max
一样。
您得到的错误是因为您将整数分配给指针变量,方法是执行min=tab[size];
其中min是int *
类型,tab[size]是int
为了纠正此行为,您应该将 tab[size] 分配给 min 使用尊重运算符指向的值:*min = tab[size]
这应该可以纠正您的错误。
相关文章:
- 执行具有转换错误的过程
- 配置过程项目文件中的错误可能无效
- 如何解决导入dll过程中Viual Studio中的并排配置错误
- 使用提升过程编译简单的应用程序会生成错误
- 如何确保不会在 CI 过程中生成错误的代码?
- 为什么在编译过程中尽管有 -I(破折号大写 i)标志,但仍会出现未定义的引用错误?
- RAII获取在破坏过程中捕获的错误的方法
- C Windows-如何从其PID(错误)获取过程路径
- 编译过程中有许多错误opencv_contrib
- MSVC2013:如何避免在错误地使用预构建脚本中止构建过程(错误MSB3073:VCEnd"退出,代码为 -1)
- 生成过程中的 Clion 编译器错误
- 我的代码在执行过程中运行良好.但是当我去提交它的显示分割错误时
- 在输入结构对象的输入过程中运行时间错误
- _CRTLISVALIDHEAPPOINTER在破坏过程中的错误
- SQL Server 2016 CLR 存储过程错误:"A system assertion check has failed"
- 尝试分叉一个过程,第一个命令有效,但第二总是给出错误
- C 在结构初始化过程中带有内部阵列的奇怪错误
- C++ 'stod()'不起作用,'strtod()'编译过程中抛出错误
- 如何获取有关protobuf解析过程中生成的错误的更多详细信息?(C++)
- OPNET:在OPNET的过程模型中写了一个函数,但有错误