0

最近、pragma ディレクティブを使用するコードに出くわしました

#error Error ! Define [_HOS_ | _HOS_OV_ | _HOV_].

このコードは、ADOC-C jacobian 計算ルーチンからのものです。

問題は、C++ Visual Studio 2010 では、#errorその行内に問題があることを示す下に赤い巻き線があることです。

コードもコンパイルに失敗し、その行にエラーメッセージが表示されます

構文の問題がありますか[_HOS_ | _HOS_OV_ | _HOV_]、それともその時点で定義されていませんか? IntelliSense は、何らかの問題を示す赤い巻き線が発生することを認識していますか?

4

3 に答える 3

2

そのコードの作成者は、エラー メッセージで指定されたタグが 1 つも定義されていない場合にエラーを発生させることを意図していました。s.th の場合は、ADOC-C のドキュメントを参照する必要があります。これらのタグについては、そこに記載されています。

于 2012-10-11T16:29:22.127 に答える
1

#errorディレクティブの目的は、コンパイル エラーを作成することです。これは通常、コードを書いたプログラマーが、それをコンパイルして使用しようとしているプログラマーに「あなたは何か間違ったことをした、これはうまくいかない!」と伝える方法です。ディレクティブに続く文字列は、コードをコンパイルしようとしているプログラマーに表示されるメッセージです。

このディレクティブの周りにあるディレクティブを確認する必要があります。たとえば、#ifdefそれを実行させる s があるかどうかなどです。次に、それらが実行された条件を調べて (たとえば、エラー リストにあるものを定義していないなど)、それらをなくす方法を探す必要があります。

于 2012-10-11T16:28:54.117 に答える
0

問題は、C++ Visual Studio 2010 では #error の下に赤い巻き線があり、その行に問題があることを示しています。

Visual Studio 2010 は #error プリプロセッサ構文を認識しなくなりました。#pragma warning しか認識しない

于 2013-05-08T10:26:52.887 に答える