我最近遇到了一段使用的代码 编译指令
#error Error ! Define [_HOS_ | _HOS_OV_ | _HOV_].
此代码来自ADOC-C jacobian计算程序。
问题是在C ++ visual studio 2010中#error
下方有一条红色的红线表示该行内存在一些问题。
代码也无法编译,在该行给出错误消息
是否存在语法问题或者那时[_HOS_ | _HOS_OV_ | _HOV_]
没有定义,而且smartSense知道导致红色的红线表明存在问题?
答案 0 :(得分:2)
该代码的作者如果没有定义错误消息中指定的至少一个标记,则会发生错误。如果s.th.你应该看一下ADOC-C的文档。那里提到了这些标签。
答案 1 :(得分:1)
#error
指令的意图是创建编译错误。对于编写代码的程序员而言,这通常是一种告诉程序员正在尝试编译并使用它的方法“你做错了什么,这不行!”。指令后面的字符串是应该向程序员显示的,试图编译代码的消息。
你应该检查这个指令是什么,例如是否存在导致它被执行的#ifdef
。然后你应该查找它们执行的条件(例如,没有定义错误列表的内容),并寻找一种方法使它们消失。
答案 2 :(得分:0)
问题是在C ++ visual studio 2010中,#error下面有一条红色的红线表示该行内存在一些问题。
Visual Studio 2010不再识别#error preprocesor语法。它只识别#pragma warning