看看我这段代码~~说我的i 重定义了~~

piaomiao163 2009-07-21 08:20:40
ee.cpp(32) : error C2086: “int i”: 重定义

#include <iostream>
#include <vector>
using namespace std;

struct Location
{
int row;
int list;
};

class Skee
{
public:
Skee();
static void Matrix( int row, int list );
private:
Location loc;
vector<int[10]> vecMatrix;
};

Skee::Skee()
{
this->loc.row = 0;
this->loc.list = 0;
}

void Skee::Matrix( int row, int list )
{
int arr1[10];
int max(0);//记录做大点在数组中的坐标

for( int i = row, i > 0; -- i )
{
for( int j = 0; j < list; ++ j )
{
cin >> arr1[ j ]
if( max < arr1[ j ] )
{
max = arr1[ j ];
this->loc.row = i;//记录
this->loc.list = j;//坐标
}
}
this->vecMatrix.push_back( arr1 );
}
}

int main()
{
cout << "请按要求输入矩阵" << endl;
Skee.Matrix( 3, 3 );
system("pause");
using namespace std;
}
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fice1989 2009-07-21
  • 打赏
  • 举报
回复
lz得多加修炼啊
asksgp 2009-07-21
  • 打赏
  • 举报
回复
楼上已给答案。
mstlq 2009-07-21
  • 打赏
  • 举报
回复
揣摩楼主的意图,学着楼主的风格,写个能用的……
#include <iostream>
#include <vector>
using namespace std;

struct Location
{
int row;
int list;
};

struct Rowdata //新增的
{
int data[10];
};

class Skee
{
public:
Skee();
void Matrix( int row, int list ); //去除static
private:
Location loc;
vector<Rowdata> vecMatrix; //注意改动
};

Skee::Skee()
{
this->loc.row = 0;
this->loc.list = 0;
}

void Skee::Matrix( int row, int list )
{
/*int arr1[10];*/
Rowdata rowdata ;
int max(0);//记录做大点在数组中的坐标

for( int i = row; i > 0; -- i )
{
for( int j = 0; j < list; ++ j )
{
cin >> rowdata.data[ j ];
if( max < rowdata.data[ j ] )
{
max = rowdata.data[ j ];
this->loc.row = i;//记录
this->loc.list = j;//坐标
}
}
this->vecMatrix.push_back( rowdata );
}
}

int main()
{
cout << "请按要求输入矩阵" << endl;
Skee skee;
skee.Matrix( 3, 3 );
system("pause");
}
mstlq 2009-07-21
  • 打赏
  • 举报
回复

void Skee::Matrix( int row, int list )
{
int arr1[10];
int max(0);//记录做大点在数组中的坐标

for( int i = row, i > 0; -- i ) //注意分号不要写成逗号
{
for( int j = 0; j < list; ++ j )
{
cin >> arr1[ j ] //注意写上分号
if( max < arr1[ j ] )
{
max = arr1[ j ];
this->loc.row = i;//静态函数无法使用this指针
this->loc.list = j;//同上
}
}
this->vecMatrix.push_back( arr1 );//同上
}
}



class Skee
{
public:
Skee();
static void Matrix( int row, int list );
private:
Location loc;
vector<int[10]> vecMatrix; //容器里面应该是元素,数组不大合适(起码楼主无法使用简单的push——back),建议改成vector <vector <int> > vecMatrix
};
asksgp 2009-07-21
  • 打赏
  • 举报
回复
。。。
太乱了,问题真多,标点符号

main里的using namespace std干啥的?
hz_yck 2009-07-21
  • 打赏
  • 举报
回复
for( int i = row, i > 0; -- i )
打错符号了

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧