История изменений
Исправление fsb4000, (текущая версия) :
Я бы сделал так.
template <typename t, size_t dim>
struct carray_base{
/*...*/
template <typename num>
inline t& operator[](num i){
if constexpr (dim == 1) {
return data[(size_t)i];
} else {
/* реализация dim != 1 */
}
}
/*...*/
};
Исправление fsb4000, :
Я бы сделал так.
template <typename t, size_t dim>
struct carray_base{
/*...*/
template <typename num>
inline t& operator[](num i){
if constexpr (dim == 1) {
return data[(size_t)i];
} else {
/* реализация dim > 1 */
}
}
/*...*/
};
Исходная версия fsb4000, :
Я бы сделал так.
template <typename t, size_t dim>
struct carray_base{
/*...*/
template <typename num>
inline t& operator[](num i){
if constexpr (dim == 1) {
return data[(size_t)i];
} else {
/* реализация dim > 1 */
}
}
/*...*/
};