У меня есть шаблонный класс, который является простым вектором, но этот кусок кода отказывается компилироваться:
template<int t>
struct Vector {
int pos[t];
Vector(int other[t]) {
for (int i = 0;i < t;++i) {
pos[i] = other[i];
}
}
};
Vector<3> cake = {3,4,5};
Это ошибка:
Line 11: error: scalar object 'cake' requires one element in initializer
compilation terminated due to -Wfatal-errors.
Почему это не работает? Какой самый простой способ заставить его работать так же, как этот?
EDIT:
Это тоже не работает:
Vector<3> cake({3,4,5});
Разве это не должно вызывать конструктор с подписью Vector<3>(int[3])
?