引数として使用される型に特別なマクロを提供する独自の型処理システムを使用した古いコードをリファクタリングしています。
x = function(TYPE(double), y);
リファクタリング後、上記は次のように記述されます
x = function<double>(y);
古いスタイルも機能させ、下位互換性を提供する方法(マクロまたはオーバーロードされた関数を使用)はありますか?私はこのようなことを試みました:
#define TYPE(x) (x)
#define function(x, y) function<x>(y)
引数の実際の数がその定義と一致する場合にのみマクロが使用されることを期待していますが、これはコンパイルエラーにつながります。