とあるマクロを作ろうとしたときに、テンプレートを絡ませていました。
その際に、複数の型を指定するときのカンマがマクロの区切りとして判定されてしまいます。
C++
1#include <type_traits> 2 3#define STATIC_ASSERT_MACRO(COND) \ 4 static_assert(COND); 5 6STATIC_ASSERT_MACRO(std::is_same_v<int, int>); 7 8int main() 9{ 10 return 0; 11}
"std::is_same_v<int,int>"がCONDではなく、
"std::is_same_v<int"がCONDで、
上の場合は存在しませんがint>が第二引数扱いになります。
複数の型を指定するテンプレートをマクロで正常に渡す方法はありますか?
渡せない場合は、どのようにすれば解決するでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。