Clang 无效-Wfor-loop-analysis

问题描述 投票:0回答:1

Clang(版本 17.0.6)抱怨:

warning: variable 'i' used in loop condition not modified in loop body [-Wfor-loop-analysis]

在此代码上:

int i = 0;
auto add = [&]
    {
        cout << i;
        i++;
    };
for (; i != 3; )
    add();

因为clang无法意识到

i
实际上已经改变了。

如果你想知道,我之所以不在for循环语句中修改i++,是因为这个

add
函数稍后会被重用。

我应该禁用此警告吗?

c++ clang warnings
1个回答
0
投票

没有带有

while (i != 3)
的警告。

演示

© www.soinside.com 2019 - 2024. All rights reserved.