gpt4 book ai didi

c++ - for 语句头的 init-statement 中不允许使用逗号运算符的表达式

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:06:40 25 4
gpt4 key购买 nike

...
for (int i = 1; i != 9; ++i)
std::cout << i << std::endl;
...

for 循环语句的头部由三部分组成:初始化语句、条件和表达式。在上面的例子中,初始化语句是 int i = 1;

似乎将带有逗号运算符的语句作为初始语句包括在内是非法的。

...
for ( (int i , cin >> i) ; i != 9; ) // 2 Erros
std::cout << i << std::endl;
...

对于上面的例子,我收到了 2 条错误警告

(int i , cin >> i) ; i != 9;) 错误:'int' 之前需要主表达式

(int i , cin >> i) ; i != 9;) 错误:i' 未在此范围内声明

有人可以向我解释这个错误的原因是什么吗?

最佳答案

很简单:第一个语句必须是声明语句。

你同样不能写:

int main()
{
(int i , cin >> i);
}

那里没有“逗号运算符”,只是一个语法错误,因为那不是 C++ 的工作方式。

关于c++ - for 语句头的 init-statement 中不允许使用逗号运算符的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48964826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com