c++ - 为什么我不能在 for 循环的第一条语句中包含 2 个变量

标签 c++ arrays

我一直收到错误:数组必须用大括号括起来的初始化器初始化

这是代码:

for (int i=1, seporated_words[0]=sentence[0]; sentence[i]!=' '; i++)
{
seporated_words[0]=seporated_words[0]+sentence[i];
}
cout << seporated_words[0];
}

有人知道我为什么会收到此错误吗?

最佳答案

这就是 C++ 的语法规则。 int i = 1, seporated_words[0]... 尝试定义两个变量 - 整数 i 和数组 seporated_words,大小为数组 0。 = ... 被编译器视为所述数组的初始化,并且是不正确的(具有零大小的数组仍然不正确,但编译器是还没有报告)。

您应该在循环语句之前将 seporated_words 设置为所需的值 - 它似乎无论如何都在循环外部,或者使 i 成为外部变量,然后对其进行初始化在循环初始化器中与 seporated_words 一起。

顺便说一句,你打错了——拼写为separated

关于c++ - 为什么我不能在 for 循环的第一条语句中包含 2 个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41557075/

相关文章:

C++容器内容特征混淆

C++ Qt 信号和插槽未触发

ios - 删除对象时发送到不可变对象(immutable对象)的变异方法错误

c - 如何将 ep->d_name 插入到 C 中的数组中

c++ - 使用 boost hana 定义结构时出现编译错误

c++ - element_t 数组中的段错误

c++ - std::enable_if 用于两种不同的方法实现(4 种不同的情况)

javascript - Javascript 中二维数组抛出异常

javascript - 如何将键从对象推送到数组?

c - 测试 C 随机数生成器