8

if/else if/else if我有一些用于使用巨大... 块实现的消息传递系统的遗留代码。当我想添加一个新else块时,Visual Studio 2010 出现“内部编译器错误”。

你知道是由 C++ 标准定义还是实现定义的最大else语句数?如果定义了实现,我在哪里可以找到 Visual Studio 2010 的最大数量?

由于历史原因,我无法更改代码,即使实现是......不是很明智。

4

2 回答 2

12

C++ 标准没有最低要求。它有一个推荐的最小值,但不是必需的。

复合语句、迭代控制结构和选择控制结构的嵌套级别[256]。

一旦超过了实现的限制,行为就不确定了。

于 2013-04-06T19:48:10.770 回答
1

以下是 Visual Studio C++ 编译器限制(由 Google 提供)。

MSVC 编译器限制

于 2013-04-06T22:43:18.153 回答