gpt4 book ai didi

c - 为什么 CodeBlocks 会突出显示关键字 class 并在没有任何错误的情况下编译它(我正在用 C 编程)?

转载 作者:太空宇宙 更新时间:2023-11-04 07:46:02 25 4
gpt4 key购买 nike

在看了一些教程之后,我试图用 c 语言创建一个类。

我在 youtube 上看到了关于类和对象的视频,代码是用 java 编写的,但讲师说其他语言也一样。我学了一些C语言的基础知识。当我打开 Code::Blocks 并输入“类”时,它突出显示,然后我编译它没有任何错误。我知道 C 不是 OOP 语言,所以它不应该包含类。是的,该文件是一个 .c 文件。

 #include"stdio.h"
void main(void)
{
int sa[5];
printf("Size : %ld\n",sizeof(sa));
}
class;

编译时没有错误,但有一些警告

warning: data definition has no type or storage class
warning: type defaults to ‘int’ in declaration of ‘class’ [-Wimplicit-int]|
||=== Build finished: 0 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|

最佳答案

原因有两个,首先,CodeBlocks 出于某种原因,通过突出显示不是 C 关键字的单词来欺骗您。其次,C 2011 中 C 标准放弃的古老“隐式 int”规则正在编译你的 class; 作为 int class;。我建议,如果您刚开始,应该在编译选项中放置一个 -pedantic-errors -Wall,这样您就可以免受此行为和其他类似行为的影响。

关于c - 为什么 CodeBlocks 会突出显示关键字 class 并在没有任何错误的情况下编译它(我正在用 C 编程)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56937390/

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