读书人

for 里面作用域的有关问题

发布时间: 2012-02-08 19:52:21 作者: rapoo

for 里面作用域的问题
for (int i = 1; i <=9 ; ++i)
{
coll.push_back(i);
}
for ( int i = 1; i <=9 ; ++i)
{
coll1.push_back(i);
}
///第二个i 里面重定义?不是很懂 ,第一个i作用域到哪里?

[解决办法]
你用的VC6吧,扔了吧,换VC2005epxress或者devcpp。
[解决办法]
根据标准的话,for中定义变量的生命期到该循环体结束之后就完结,所以这种写法是正确的,但是部分老旧的编译器会报错,这种情况下,换一种编译器吧
[解决办法]
换编译器。
VC6.0标准老了。
[解决办法]
这个vc6编不过去的,别和编译器较劲了
[解决办法]
这个是VC6的本身问题,i的作用域确实只在第一个循环内,将int i写到外面就可以了
[解决办法]
这个问题具体的论述可以看看BS的《C++语言的设计和演化》3.11.5

读书人网 >C++

热点推荐