首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

下面这段代码为什么通不过解决办法

2012-02-21 
下面这段代码为什么通不过#includeiostream#includevectorusingnamespacestd//用vector代替二维数组v

下面这段代码为什么通不过
#include   <iostream>
#include   <vector>
using   namespace   std;
//用vector   代替二维数组
void   main()
{
int   i,j;
vector <vector <int> >   array(3);

for(i=0;   i <3;   i++)
array[i].resize(3);
//set
for(i=0;   i <3;   i++)
for(j=0;   j <3;   j++)
array[i][j]=i+j;
//print
for(i=0;   i <3;   i++)
for(j=0;   j <3;   j++)
cout   < <array[i][j]   < < "   ";

//重设个5*3数组
array.resize(5);
array[3].resize(3);
array[4].resize(3);
//set
for(i=0;   i <5;   i++)
for(j=0;   j <3;   j++)
array[i][j]=i+j;
//print
for(i=0;   i <5;   i++)
for(j=0;   j <3;   j++)
cout   < <array[i][j]   < < "   ";
}

[解决办法]
因为根据C/C++的贪婪原则 > > 是位移/流 运算符,不是2个 > 尖括号
下一版C++标准会要求编译器有这个正确判断力。VC2005已经实现这个功能。

热点排行