0

現在、次のようなシナリオがあります。

#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 ??)

または、ここで使用する必要がある別の表現はありますか?

4

2 に答える 2