声明一个int变量

declaring an int variable

本文关键字:一个 int 变量 声明      更新时间:2023-10-16
for(int i=0; i < size; i++)

我在上面的代码中声明了一个变量,收到了一个编译时错误:根据ISO标准,这样的声明是过时的。

然后我在 for循环外声明变量,像这样

int i;
for(i=0; i < size; i++) 

……它成功了????

谁能告诉我这个声明,因为据我所知,在c++中,我们不仅可以像C一样在顶部声明变量,还可以在需要时在下面的任何地方声明变量。

我使用的编译器是gcc

您可能使用gcc而不是g++进行编译(或者使用xl_C而不是xl_c++等)

否则,检查您没有通过旧标准(使用-std=c89或-ansi)

第一个声明只在for循环的作用域中声明i。第二种方法在外部的作用域中声明它。两者都是完全正确的。当你想在循环后使用i的值时,你会使用第二种情况,这通常是在循环中有break子句的情况下,你想找出你在哪个迭代中跳出了循环。

我猜你在循环结束后使用i

从前,代码的第一个位相当于第二个位,在循环之外的作用域中声明i,所以像这样的代码是可能的:

for (int i = 0; i < size; ++i) {
    // do something
}
if (i != size) {
    // do something else
}

在标准c++中是无效的;i仅在循环体中可用,您需要在循环外声明它才能在那里访问它。

相关文章: