J'ai quelques problèmes avec gcc 7.2. J'ai ce trait de typeGCC 7 ne pas choisir la bonne spécialisation de type caractère
template<typename T>
struct audio_frame_channels {}
template<int N>
struct audio_frame_channels<std::array<float, N>> {
static constexpr auto value = N;
};
Et puis je l'utiliser comme ceci:
template<typename T>
auto redirect(T& buf) ->
ProcessData<audio_frame_channels<std::remove_reference_t<
decltype(buf[0])>>::value>;
clang 6 n'a pas de problème avec cela, mais gcc 7.2 se plaint que ‘value’ is not a member of ‘top1::audio::audio_frame_channels<std::array<float, 1> >’
Ai-je obtenu quelque chose de mal, ou est ce que vous obtenez sur les compilateurs expérimentaux?
Edit: godbolting Obligatoire: