类型'int&'的引用初始化无效,传递参数 1 时出错
Invalid initialization of reference of type 'int&' and error in passing argument 1
我已经编写了一个C++问题的解决方案,它应该显示一个有序数组,其中包含来自矩阵的值。我已经做到了,但它一直显示两个错误,我不知道如何解决它们。
错误是:
第 84 行|错误:从类型"int*"的表达式初始化类型"int&"的引用无效|
第 57 行|错误:在传递 'void Inserare(int&, int*, int)' 的参数 1 |
#include <iostream>
#include <math.h>
using namespace std;
void CitireMatrice(int& n,int mat[100][100])
{
int i,j,m;
cout<<"Da n ";
cin>>n;
m=n;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"Matricea["<<i<<"]["<<j<<"]=";
cin>>mat[i][j];
}
}
void Tiparire(int n,int X[])
{ int i;
if(n!=0)
{
for(i=1;i<=n;i++)
cout<<X[i]<<" ";
cout<<endl;
}
else
cout<<"Sirul este vid";
}
int Prim(int n)
{
int div=2;
while(div<=sqrt(n) && n%div!=0)
{
if(div == 2)
div = 3;
else
div = div + 2;
}
return div;
}
int SuperPrim(int n)
{
while(n!=0)
{
if(Prim(n)==0)
return 0;
n=n/10;
}
return 1;
}
void Inserare(int& n,int X[],int v)
{ int i;
int p=1; //prima pozitie
while(X[p]>v && p<=n)
p++;
for(i=n;i>=p;i++)
X[i+1]=X[i];
X[p]=v;
n++;
}
int Apartine(int X[],int n,int v)
{ int i;
int gasit=0; //initializat cu 0 deoarece nu a gasit nimic inca
for(i=1;i<=n;i++)
if(X[i]==v)
gasit=1;
return gasit;
}
void Construire(int n,int mat[100][100],int X[],int& k)
{ int i,j;
k=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((i>j && i+j<n+1) || (i<j && i+j>n+1)) //daca apartine triunghiului drept SAU strang
if(SuperPrim(mat[i][j])==1 && Apartine(X,k,mat[i][j])==0)
Inserare(X,k,mat[i][j]);
}
int main()
{
int m,n,mat[100][100],X[100],k;
CitireMatrice(n,mat);
Construire(n,mat,X,k);
Tiparire(n,X);
return 0;
}
Inserare(X,k,mat[i][j]);
X 是表地址,根据声明 void Inserare(int& n,int X[],int v)您应该传递引用。也许您想在通话中切换 X 和 K?
你有函数 void Inserare(int& n,int X[],int v)
,你尝试调用Inserare(X,k,mat[i][j]);
。
您可能尝试以错误的顺序发送参数。 尝试在Inserare(k,X,mat[i][j]);
上更改通话
相关文章:
- 为 NewObjectA() 函数创建 jvalues 的参数数组时出错 - JNI Invocation API
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- 使用一个参数的模板函数时出错(适用于 2)
- 为什么在函数参数前面添加 const 会出错?
- 变量用作C中的函数参数后出错
- 将私有数据成员作为默认参数传递给该类的公共方法时出错
- 使用 cvThreshold 时报告参数时出错
- STL 容器在函数中作为模板参数,在调用中出错
- 使用模板模板参数时出错
- 方法的参数列表出错
- 将 std::bind 应用于带有参数 <boost::asio::ip::tcp::socket> 时出错?
- 使用模板函数传递模板参数时出错
- 在 c++ 中调用将字符串作为参数传递的函数时出错
- 在运算符中将联合作为参数传递时出错<<
- 在C 中使用Caffe;无法将Caffe ::求解参数仪发挥作用而不会出错
- 尝试使用浮点参数运行重载函数时出错
- 尝试将 C++11 代码转换为 C++03 时默认函数模板参数出错
- Lua c++ lib sethook:钩子函数参数出错
- 在 Unix 中编译 c++ 时嵌套模板参数出错
- uniform_real_distribution c++的最小/最大参数出错