0

次のクラスを宣言する C# プロジェクトがあります。

public static class CPConstants
{
    public const double FAR = double.PositiveInfinity;

    ...
}

上記の C# アセンブリを参照し、クラスのメソッドでこれを実行しようとする別の C++/CLI プロジェクトがあります。

double farValue = CPConstants::FAR;

これをコンパイルすると (Visual Studio 2008 で MS Build を使用しています)、次のコンパイラ エラーが発生します。

error C2589: ';' : illegal token on right side of '::'
error C2059: syntax error : '::'

ここで私が間違っていることを誰かが説明できますか? C++/CLI プロジェクトから「FAR」フィールドにアクセスするにはどうすればよいですか?

4

1 に答える 1

2

#define FAR従来の理由から、Windows ヘッダーにはがあります。ヘッダー インクルードと実際のコードの間に次の行を使用してみてください。

#undef FAR
于 2013-06-06T14:41:25.713 に答える