は私がgcc7.1を使用してコードをコンパイルしますが、いくつかのコンパイルエラーました:"constexpr if"はエイリアスを使用していますか?
エラー:予想される修飾されていない-IDの前には '他'
class Test
{
int a{1};
string b{"test"};
public:
template <int N> auto & get()
{
if constexpr (N==0)
return a;
else
return b;
}
};
namespace std {
template<> struct tuple_size<Test> { static const int value = 2; };
template<size_t N> struct tuple_element<N, Test>
{
if constexpr (N==0) //error: expected unqualified-id before ‘if’
using type = int;
else //error: expected unqualified-id before ‘else’
using type = string;
//using type = conditional_t<N==0, int, string>; //this works
};
}
:前に期待修飾されていないIDを
エラー 'が'
これを有効にしたが、委員会によって却下された2013年頃には、「静的な」提案が2件ありました。 – TemplateRex