Let's consider following very simplified example
#include <array>
template<typename T, F>
class GenericColor {
protected:
std::array<T, F> components;
}
class RGB : public GenericColor<int, 3> { // three components, red, green...
}
class CMYK : public GenericColor<int, 4> { // four components, cyan, magenta....
}
My question is how to make second parameter pointing on std::array size, just to make this example working.