我有一些遗留代码用于使用巨大的if/else if/else if
...块实现的消息传递系统。当我想添加一个新的else
块时,Visual Studio 2010有“内部编译器错误”。
您知道是否由C ++标准或实现定义的最大else
语句数定义?如果是实现定义,我在哪里可以找到Visual Studio 2010的最大数量?
由于历史原因,我无法更改代码,即使实现是......不是很明智。
答案 0 :(得分:12)
C ++标准不需要最低限度。它有一个建议的最小值,但不是必需的。
嵌套复合语句,迭代控制结构和选择控制结构的级别[256]。
超出实施限制后,行为未定义。
答案 1 :(得分:1)
以下是Visual Studio C ++编译器限制(由Google提供)。