c++ - 为什么 C++ 中的分号在代码开头插入时不显示任何错误?

标签 c++

我是 C++ 的新手。

分号是一个终止符,所以当它被包含在代码的开头时,它必须终止该行,即它应该跳过该行并开始执行下一行。当我在代码开头包含一个分号时,它不会显示任何错误并且该行不会终止。

请指正。

例子:

; string a = "5.558";

最佳答案

您不会收到错误,因为它不是错误。 您正在终止一个空语句。这在 C++ 中是合法的(并且一直在 C 中)。

所以你的示例包含 2 个语句(不是一个):

<empty> ;
string a = "5.558" ;

这实际上很有用。例如,for 循环需要 3 个表达式(init、condidtion 和 increment/step)。有时你不想通过所有 3 个,所以这也是一个合法的代码:

for(;;) {  /* do something in this endless loop */ }

for 中的 2 个分号因此是 3 个(空)表达式的分隔符

关于c++ - 为什么 C++ 中的分号在代码开头插入时不显示任何错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58427952/

相关文章:

c++ - x64 架构与 x86 有何不同

c++ - Stroustrup : For C++, 如何安装 FLTK 库?

c++ - 为特定的模板方法实例定义别名

c++ - 为什么内存位置被分配垃圾值?

c++ - 如何在不将文本复制到新文件的情况下替换文本文件中的字符串?

c++ - 我该如何解决这个指针/内存问题?

android - qmessagebox 问题,无法更改其位置

c++ - 什么决定了两个源文件中同名类包含哪个类定义?

c++ - 调整列宽 QTableWidget

c++ - while(true) switch case -- 是否有可能实现可变大小写匹配,例如 : using a for loop?