C++问题,求解决!
有一段程序如下写
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] ={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int (*p)[4] = ia;
for ( p = ia;p != ia+3; p++)
for(int *q = *p;q != *p+4;q++)
cout<<*q<<endl;
return 0;
}
可以正常遍历二维数组的值并且输出。可改为如下就不能编译通过,请大牛解释下。
#include <iostream>
using namespace std;
int main()
{
int ia[3][4] ={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
for ( int (*p)[4] = ia ;p != ia+3; p++)
for(int *q = *p;q != *p+4;q++)
cout<<*q<<endl;
return 0;
}
[解决办法]
LZ什么编译器啊??
VS2008编译没问题
[解决办法]
明显一样的啊。
而且我试了,可以编译。
这是C++ Primer上的一道题。
[解决办法]
#include <iostream>using namespace std;int main(){ int ia[3][4] ={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; for ( int *p = ia[0] ;p != ia[3]; p+=4) { for(int *q = p+0;q != p+4;q++) { cout<<*q<<endl; } } return 0;}
[解决办法]
编译器问题!
[解决办法]
++
上一次有个考试,用的什么wint,
for(int i=0;i<10;i++)
这都编译不了,非得把变量声明在外面。楼主看起来也遇到了如此问题啊!
[解决办法]
你是什么编译器啊,估计是比较旧的编译器,在旧式编译器中,比如:for(int i = 0;;){},在这个循环结束后,变量i仍然可以使用,现在C++标准中去掉了,建议你换个编程环境吧,用个能够兼容C++标准的编译器,比如vs2008或VS2010