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

vc6.0 下可以在for 语句里去申明 数组指针吗?该如何解决

2012-03-22 
vc6.0下可以在for 语句里去申明 数组指针吗?大家看一下这断代码。在vs2003里面是可以正常运行的。可是在vc6.

vc6.0 下可以在for 语句里去申明 数组指针吗?
大家看一下这断代码。在vs2003里面是可以正常运行的。
可是在vc6.0下去不能通过编译。我也找不到原因,知道的解释一下!

C/C++ code
#include <iostream>using std::cout;using std::endl;void main(){    int ia[2][3] = {1,2,3,4,5,6};        for(int (*p)[3] = ia; p!=ia+2; ++p)    {    }}

错误:error C2065: 'p' : undeclared identifier
如果说是vc6下for语句不能认识数组指针那可以理解。可问题是按下面的去改写还是会有运行错误。就不明白了
C/C++ code
#include <iostream>using std::cout;using std::endl;void main(){    int ia[2][3] = {1,2,3,4,5,6};    int (*p)[3] = ia;    for(; p!=ia+2; ++p)    {    }}



[解决办法]

没有错误啊!
C/C++ code
#include <iostream>using std::cout;using std::endl;void main(){    int ia[2][3] = {1,2,3,4,5,6};    int (*p)[3] = ia;    for(; p!=ia+2; ++p)    {    }}
[解决办法]
没有错误啊! 
===============
楼上的说得没错
[code=C/C++][/code]

 发表于:2007-12-25 09:44:343楼 得分:0 

没有错误啊! 

C/C++ code
#include <iostream>
using std::cout;
using std::endl;
void main()
{
int ia[2][3] = {1,2,3,4,5,6};
int (*p)[3] = ia;
for(; p!=ia+2; ++p)
{

}
}
编译没错误
第一段代码for(,,)里定义数组不合法
 
 
[解决办法]
VS2003版本比vc6高
vs2003能通过但vc6不能通过很正常
非要问为什么vc6不能通过没有必要
开发vc6的程序就没有让vc6支持这种表达式
那这种表达式就是不合法的

热点排行