在c ++中用花括号括起来的分号

时间:2012-05-17 00:16:53

标签: c++ vtk

我最近开始使用vtk软件包,我看到这个奇怪的符号,它们在关闭花括号;后包含}。以下是vtkUnstructuredGrid.h

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

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

2 个答案:

答案 0 :(得分:1)

当QtCreator正确检测到时, 肯定是一个额外的分号,不仅没用,而且还会导致编译器警告和混淆。

例如带有-Wpedantic标记will trigger的GCC:

  

警告:额外';'

答案 1 :(得分:0)

它并不罕见。在C ++中,语句以;结尾。所以陈述是int GetDataObjectType();。 现在,这个语句是一个函数,它也有一个块定义:int GetDataObjectType() {};在块内,我们有另一个语句:return VTK_UNSTRUCTURED_GRID;所以完整的行可能有一个额外的分号,但它也不是分号 - 这只是你可能省略的分号。