C++代码改错

来源:百度知道 编辑:UC知道 时间:2024/06/07 06:17:26
#include<iostream>
#include<string>
#include<vector>
using namespace std;
class Mymatrix
{
public:
Mymatrix()
{
float Arry[16];
vector<float>* seq[4]={&Row1,&Row2,&Row3,&Row4};
int m=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
cin>>Arry[m];
seq[i][j]=Arry[m];
m++;
}
}

}
Mymatrix(float Arry)//输入的参数是一个数组
{
vector<float>* seq[4]={&Row1,&Row2,&Row3,&Row4};
int m=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
seq[i][j]=Arry[m];
m++;
}
}
}
void Add(Mymatrix &rsh)
{
for(int i=0;i<16;i++)
{

if(i<4)
{
Row1[i]=Row1[i]+rsh.Row1[i];
}
else if(i<8)
{
Row2[i-4]=Row1[i-4]+rsh.Row1[i-4];
}else if(i<12)

...把vector都换成数组或者数组都换成vector可以不?

你混用的错误太多了。

第一个改了

vector<float>* seq[4]={Row1,Row2,Row3,Row4};

第二错误

seq[i][j]=Arry[m];

既然vector<float>Row1 [4]; 那seq[i][j]的类型名名就是vector<float>....怎么可能赋值一个float呢...

佩服做这东西出来的人...