[英]c++ pragma #error giving an error
我最近遇到了一段使用pragma指令的代碼
#error Error ! Define [_HOS_ | _HOS_OV_ | _HOV_].
此代碼來自ADOC-C jacobian計算例程。
問題在於,在C ++ visual studio 2010中,# #error
下面有一條紅色的卷曲線,指示該行中存在某些問題。
該代碼也無法在該行編譯給出錯誤消息
有語法問題[_HOS_ | _HOS_OV_ | _HOV_]
還是那些[_HOS_ | _HOS_OV_ | _HOV_]
[_HOS_ | _HOS_OV_ | _HOV_]
[_HOS_ | _HOS_OV_ | _HOV_]
尚未定義,並且intelliSense知道會導致出現紅色卷發,表明存在某些問題?
如果未至少定義錯誤消息中命名的標簽之一,則該代碼的作者將有錯誤。 您應該看一下ADOC-C資料的文檔。 關於這些標簽的內容。
#error
指令的目的是創建編譯錯誤。 這通常是編寫代碼的程序員告訴程序員正在嘗試編譯和使用它的一種方式:“您做錯了,這行不通!”。 指令后面的字符串是應該向程序員顯示的消息,以嘗試編譯代碼。
您應該檢查該指令周圍有哪些指令,例如是否有任何#ifdef
導致其執行。 然后,您應該查找它們執行的條件(例如,不定義錯誤列表中的內容),並尋找使它們消失的方法。
問題在於,在C ++ Visual Studio 2010中,#error下面有一條紅色的卷曲線,指示該行中存在某些問題。
Visual Studio 2010不再識別#error前處理器語法。 它只能識別#pragma警告
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.