C 禁用C1061错误 - 嵌套到深处的块



我正在使用一个OpenSource项目(服务器),并且基本上是一开始就加载了一个大XML项目数据库,其中包含数百个项目属性。它使用大量的其他/IF来检查这些属性,我自由添加了大约20个属性,现在看来我已经打破了编译器。我已经四处搜索,我发现的任何答案实际上都没有给我一个可行的选择)。我对C 的这一部分没有太多经验,所以我可能做错了。

#pragma warning(disable:1061)

是我尝试的,没有工作给我带来的,并且错误认为这不是有效的警告。是否可以禁用此错误?

谢谢。

//编辑 - 解决方案只是想添加我如何解决这个问题。我最终创建了一个将所有自定义属性放入的函数,因此我不会通过128级限制。

bool isCustomAttribute(std::string strValue, int intValue, xmlNodePtr itemAttributesNode, ItemType& it)

我插入了其他IF的阵列大声笑中,也许不漂亮,但这是一个快速简便的工作。

您不能禁止此错误,因为这是致命的编译器错误,而不是警告。它的文档说:

编译器限制:嵌套得太深

的块

代码块的嵌套超过128个嵌套级别的限制。 简化嵌套。

这是编译器的限制,但请注意,在可读性和可维护性方面,128个嵌套水平太多了。您应该对该代码进行重构,以达到筑巢的较高水平(例如四个或以下)。

最新更新