1

私は MonoDevelop 4.0.1 (Unity の現在のバージョン) を介して C# で作業しており、一見奇妙な言語に遭遇しました。

これが私の .cs ファイル全体です。

#if false

#define foo

#endif

class myClass {
  int member;
}

#if false

#error this error does not trigger

#undef foo
// "cannot define or undefine preprocessor symbols after first token in file

#endif

#undefトークンが宣言された後にプリプロセッサ シンボルを ing しないという規則は理解していますが、この場合 、が.#undef#undef#if false

この例は完全に考案されたものではありません。ここで説明されている方法を使用して、単一のソース ファイルを C# と C++ の両方でコンパイルする試みです。

4

1 に答える 1

1

Visual Studio は同じコードについて文句を言いません。Mono のバグを発見したと思います。

于 2015-06-26T18:19:56.223 に答える