【问题标题】:Syntax of strongly typed enums wrongly implemented?错误实现强类型枚举的语法?
【发布时间】:2012-11-30 22:33:45
【问题描述】:

我目前正在测试 Visual Studio 2012 的 11 月 CTP,遇到了一个有趣的问题:标准是否强制要求对于强类型枚举必须使用 enumstruct/class 关键字是同一行还是应该向 Microsoft 报告的实现错误?

这样编译:

enum struct name : type { ...

这不是 (C2332)

enum
struct name : type { ...

编辑: 正如 James 所说,这是实现中的一个错误,并已报告给 Microsoft

【问题讨论】:

  • enum class/struct 不需要 NovCTP。那么在纯 VC2012 版本上会发生这种情况吗?
  • @NicolBolas:刚试过,bug好像也在RTM版本的编译器中!

标签: c++ visual-c++ c++11 visual-studio-2012 ctp


【解决方案1】:

是的,这无疑是一个错误。预处理后换行符不显着。

Microsoft Connect 上的以下问题对此进行了跟踪(致 OP:感谢您打开此错误。):

Bug in implementation of strongly typed enums

如果此错误对您很重要,请在 Microsoft Connect 上投票。请注意,有一个简单的解决方法:不要在 enumstruct 关键字之间放置换行符。

【讨论】:

  • 正如我所料。我提交了错误报告。
  • 您会在此处发布一个指向该错误的链接,以供该问题的未来读者阅读吗? (所以我可以跟踪它。)谢谢!
  • 当然,我添加了问题的链接。
  • 詹姆斯,你太棒了。您积极跟踪和提交错误的方式非常有帮助。当您需要帮助修复它们时,请告诉我。 ;)
猜你喜欢
  • 2012-09-16
  • 1970-01-01
  • 2016-01-17
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多