在FOR循环中声明变量

Jja*_*ang 4 c++ loops declare

我知道在C++中你可以在FOR中的变量上声明,例如:

for(int i=0; i<10; i++)
Run Code Online (Sandbox Code Playgroud)

有没有办法在for中声明另一个变量?这对我不起作用:

for(int i=0, char Ch='J'; i<10; i++)
Run Code Online (Sandbox Code Playgroud)

hmj*_*mjd 9

你可以使用std::pair:

for (std::pair<int, char> p(0, 'j'); p.first < 10; p.first++)
{
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*att 8

简单的解决方案是在以下范围之外制作示波器for:

{
    char Ch = 'j';

    for (int i = 0; i < 10; i++)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)


Att*_*ila 5

你不能.你可以这样做:

char Ch='J';
for(int i=0; i<10; i++)
Run Code Online (Sandbox Code Playgroud)

问题是要声明一个不同类型的变量,你需要一个分号(;)来分隔这两个语句 - 逗号(,)声明一个相同类型的变量.但是分号在for标题中有不同的含义.

如果您担心范围,也可以将其括在一个块中.