gpt4 book ai didi

c - 错误 C2143 : syntax error: missing ';' before '{' in C

转载 作者:太空宇宙 更新时间:2023-11-04 05:16:00 26 4
gpt4 key购买 nike

当我尝试使用嵌套函数编译以下 C 代码时:

 #include <stdio.h>
int main() {

int five() {
return 5;
}

for (int i = 0; i < 10; i++) {
printf("%d ", five());
}

return 0;
}

我收到以下错误:错误 C2143:语法错误:缺少“;”在 C 中的“{”之前

我使用的是 Visual Studio Community 2017 及其开发者命令行,所以我的编译器是 cl

当我用gcc编译程序时,没有报错,所以我怀疑它与编译器有关,但如何?

最佳答案

编译器按“ token ”工作“ token ”。在 int main() { 之后,它会看到标记 int5() 是函数 5 声明的一部分(返回 int 并接受未指定但固定数量的参数)。此声明以标记 ; 完成,但下一个可用标记是 {,这使得整个语法无效。

TLDR:嵌套函数在 C 中是非法的。

关于c - 错误 C2143 : syntax error: missing ';' before '{' in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54672800/

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