请教C++中关于local function definitions are illegal错误的问题
Matrixoperator*(MatrixM1,MatrixM2){MatrixM3;if(M1.Nu!=M2.Mu){returnM3;}else{M3.Mu=M1....
Matrix operator *(Matrix M1,Matrix M2)
{
Matrix M3;
if(M1.Nu!=M2.Mu)
{
return M3;
}
else
{
M3.Mu=M1.Mu;
M3.Nu=M2.Nu;
M3.Elemtotal=M3.Mu*M3.Nu;
M3.Data=(Elem *)malloc(M3.Elemtotal*sizeof(Elem));
M3.Constant[0]=M3.Nu;
M3.Constant[1]=1;
int i,j,k;
for(j=0;j<M3.Nu;j++)
{
for(i=0;i<M3.Mu;i++)
{
for(k=0;k<M3.Mu;k++)
{
M3.Data[M3.Constant[0]*i+M3.Constant[1]*j].v+=M1.GetElem(i,k).v*M2.GetElem(k,j).v;
}
}
}
cout<<"1"<<endl;
return M3;
}
就是这个函数 注释掉就没事了 提示如下 :
--------------------Configuration: 1.1 - Win32 Debug--------------------
Compiling...
1.1.cpp
I:\programme\数据结构\5 Array & Lists\Matrix\矩阵幂运算\1.1\1.1.cpp(111) : error C2601: 'main' : local function definitions are illegal
I:\programme\数据结构\5 Array & Lists\Matrix\矩阵幂运算\1.1\1.1.cpp(119) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
1.1.exe - 2 error(s), 0 warning(s)
我也没在函数内部定义其它函数啊怎么会有这样的错误呢?望大家指教一下 展开
{
Matrix M3;
if(M1.Nu!=M2.Mu)
{
return M3;
}
else
{
M3.Mu=M1.Mu;
M3.Nu=M2.Nu;
M3.Elemtotal=M3.Mu*M3.Nu;
M3.Data=(Elem *)malloc(M3.Elemtotal*sizeof(Elem));
M3.Constant[0]=M3.Nu;
M3.Constant[1]=1;
int i,j,k;
for(j=0;j<M3.Nu;j++)
{
for(i=0;i<M3.Mu;i++)
{
for(k=0;k<M3.Mu;k++)
{
M3.Data[M3.Constant[0]*i+M3.Constant[1]*j].v+=M1.GetElem(i,k).v*M2.GetElem(k,j).v;
}
}
}
cout<<"1"<<endl;
return M3;
}
就是这个函数 注释掉就没事了 提示如下 :
--------------------Configuration: 1.1 - Win32 Debug--------------------
Compiling...
1.1.cpp
I:\programme\数据结构\5 Array & Lists\Matrix\矩阵幂运算\1.1\1.1.cpp(111) : error C2601: 'main' : local function definitions are illegal
I:\programme\数据结构\5 Array & Lists\Matrix\矩阵幂运算\1.1\1.1.cpp(119) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
1.1.exe - 2 error(s), 0 warning(s)
我也没在函数内部定义其它函数啊怎么会有这样的错误呢?望大家指教一下 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询