Como posso passar um span de um array para uma classe base? Se isso não for possível, que tal passar uma const ref para o array? O problema é que tanto o span quanto o array exigem um tamanho explícito como argumento de template, então a classe base precisa desse tamanho. Atualmente, estou fazendo isso com um vetor.
Estou tentando fazer algo como:
enum Seasons {
Spring, Summer, Fall, Winter
};
struct Base {
template<size_t N>
Base(std::span<Seasons, N> list) {}
};
struct Derrived : Base {
inline static const std::array mValues = {
Spring, Winter
};
Derrived() : Base(???) {}
};
Para deduzir
std::span
parâmetros de modelo, você deve chamar o construtor: