2

プリプロセッサのメタプログラミング Boost.Preprocessor を使用するライブラリを作成しています。1 つのマクロは次のようになります。

#define MY_MACRO(my_type) return some_function<my_type>()

さて、問題は、returnif my_typeisを削除する必要があることですvoid。Boost.Preprocessor を確認しましたが、役立つものは何もありませんでした。どうすればこれを達成できますか? 何かのようなもの:

#define MY_MACRO(my_type) BOOST_PP_IF(\
      TYPE_EQUALS(my_type,void),return,BOOST_PP_EMPTY()) some_function<my_type>()
4

1 に答える 1