コード内の古いマクロを削除するプロセスでは、意味のあるコンパイラメッセージを含むエラーとして古いマクロを定義する必要があります。
例:古いコード:
#define DIVIDE_BY_TWO(x) x/2
新しいコードでは、このマクロの使用を防ぐために、次のように記述します。
#define DIVIDE_BY_TWO(x) #error DIVIDE_BY_TWO is obsolete, use DIV_2 instead
しかし、上記の行をコンパイルすると、次のようになります。
error C2162: expected macro formal parameter
それを行う正しい方法は何ですか?