#defines を介して多くのコードを生成するレガシー コードを使用しています。#ifdef
を の中に入れることはできないことはわかっています#define
が、 は#if
可能ですか? 特定のタイプの特殊化を追加したいと思います。(代わりにテンプレートを使用するなどの大きな変更を加えることなく)。次のサンプルでは不可解なエラーが発生するため、これは方法ではありません。
#define MK_GET(type) \
type get_ ## type (int index) \
{ \
#if type == double \ <-- what i want to add
specialized code... \
#endif
...
} \
MK_GET(double);
MK_GET(int);
MK_GET(string);