GetClassName() と呼ばれるメンバーを持つ C++ の動的クラス システムを持つコードがいくつかあります。ただし、Windows ヘッダーを含む大規模なプロジェクトに含めると、すべてが崩壊しました。どうやら Windows は #define GetClassName (GetClassNameA または GetClassNameW) を使用してすべてを台無しにしてしまい、仮想コール ツリーがすべて台無しになり、暗闇の中で愚かなコンパイラ デバッグで 1 日を失い、何が間違っていたのかを突き止めようとしました。
したがって、#define にこのように恐ろしく衝突しやすい名前を使用したことで Microsoft をののしっていることに加えて (正直なところ、誰かがこれのために撃たれるべきだ!)、私は 3 つの目的を求めています。
- GetClassName() の別の適切な名前は何ですか?
- とにかくこれを修正する方法はありますか?将来的には、私のコード ベースの他の開発者が同様の運命に苦しむことはありません。
- そして後世のために、他の誰かがこの同様に不可解なエラーに遭遇したとき