私には機能があります
void fun(int j, int i = 10);
マクロ機能で面白さを出したい。
#define fun1(x) fun(10)
#define fun1(x, y) fun(x, y)
どうすればこれを達成できますか?
私には機能があります
void fun(int j, int i = 10);
マクロ機能で面白さを出したい。
#define fun1(x) fun(10)
#define fun1(x, y) fun(x, y)
どうすればこれを達成できますか?
なぜここでマクロを使いたいのですか?C++ では、代わりにインライン関数を使用する方が簡単で慣用的です。
一般に、想像上の解決策ではなく、問題を説明すると、より適切なサポートが得られる可能性があります。
関数のように、パラメーターの数に基づいてマクロをオーバーロードすることはできません。
関数を呼び出すだけのほうがよいでしょう。
いくつかのプリプロセッサは面白いです:
#define fun1 fun
または
#define fun1(...) fun( __VA_ARGS__)
または
#define fun1(x...) fun(x)