两个具有相同名称的变量

时间:2014-05-05 10:59:51

标签: c++ naming-conventions

我错过了使用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?他们是一个特殊的规则吗?

1 个答案:

答案 0 :(得分:1)

在内部范围中,变量声明将影响任何先前的声明。在您的代码示例中,输出将是每次循环迭代时ch的值。

如果要在内部for之外输出i的值,则输出将是第一个for循环中声明的i的值。