我错过了使用i
为两个变量编写我的变量名称,一个是int
,另一个是Uint16
,如下所示:
for(int i = 0; i <= 5; i++) {
for(Uint16 ch = 5; ch < 20; ++ch) {
Uint16 i = ch;
//Some code
cout << i;
}
}
使用clang x86 5.1它会编译,但会显示哪个i
?他们是一个特殊的规则吗?
答案 0 :(得分:1)
在内部范围中,变量声明将影响任何先前的声明。在您的代码示例中,输出将是每次循环迭代时ch
的值。
如果要在内部for之外输出i
的值,则输出将是第一个for循环中声明的i
的值。