現在、次のようなシナリオがあります。
#define my_macro(var) __builtin_types_compatible_p(typeof(var), foo) ? do_something : do_something_else
ただし、誤ってマクロに次のパラメーターが渡されます。
my_macro(int x);
有効ではないため、もちろん失敗しtypeof(int x)
ます。
その式で作業my_macro
できるようにする内部で適用できる変換はありますか? typeof
マクロに渡されるものを変更することはできません。マクロ内で発生することだけです。
したがって、次のようなものです。
#define my_macro(var) typeof(?? var ??)
または、ここで使用する必要がある別の表現はありますか?