我正在使用一个OpenSource项目(服务器),并且基本上是一开始就加载了一个大XML项目数据库,其中包含数百个项目属性。它使用大量的其他/IF来检查这些属性,我自由添加了大约20个属性,现在看来我已经打破了编译器。我已经四处搜索,我发现的任何答案实际上都没有给我一个可行的选择)。我对C 的这一部分没有太多经验,所以我可能做错了。
#pragma warning(disable:1061)
是我尝试的,没有工作给我带来的,并且错误认为这不是有效的警告。是否可以禁用此错误?
谢谢。
//编辑 - 解决方案只是想添加我如何解决这个问题。我最终创建了一个将所有自定义属性放入的函数,因此我不会通过128级限制。
bool isCustomAttribute(std::string strValue, int intValue, xmlNodePtr itemAttributesNode, ItemType& it)
我插入了其他IF的阵列大声笑中,也许不漂亮,但这是一个快速简便的工作。
您不能禁止此错误,因为这是致命的编译器错误,而不是警告。它的文档说:
编译器限制:嵌套得太深
的块代码块的嵌套超过128个嵌套级别的限制。 简化嵌套。
这是编译器的限制,但请注意,在可读性和可维护性方面,128个嵌套水平太多了。您应该对该代码进行重构,以达到筑巢的较高水平(例如四个或以下)。