6

我最近开始使用 vtk 包,我看到了这个奇怪的符号,它们包含;在关闭花括号之后}。这是一个例子vtkUnstructuredGrid.h

// Description:
// Standard vtkDataSet API methods. See vtkDataSet for more information.
int GetDataObjectType() {return VTK_UNSTRUCTURED_GRID;};

这不是必需的,QtCreator 也可以通过extra ;在解析代码时正确检测到这一点。我很好奇这可能是什么原因?也许可读性?

4

2 回答 2

1

正如 QtCreator 正确检测到的那样,绝对是一个额外的分号,不仅没有用,而且还会导致编译器警告和混淆。

例如带有-Wpedantic标志的 GCC将触发

警告:额外的';'

于 2014-01-08T11:07:21.077 回答
0

它并不少见。在 C++ 中,语句以;. 所以声明是int GetDataObjectType();。现在,这个语句是一个函数,它还定义了一个块:int GetDataObjectType() {};在块内,我们有另一个语句:return VTK_UNSTRUCTURED_GRID;所以整行可能有一个额外的分号,但它不是一个分号太多,它只是一个分号你可以忽略。

于 2012-11-24T22:54:45.257 回答