Массив сопоставимых объектов в переполнении стека

Я получаю следующую ошибку в моем коде. Я очень ржавый C ++, не уверен, что я делаю неправильно.

Сообщение об ошибке:

Error: Field has incompatible type 'int []'

Код:

template<typename Comparable> class OrderedCollection
{
private:
Comparable data[];  //ERROR CAUSED BY THIS LINE
int _size;
int _current;
const int MAX_SIZE = 100;

0

Решение

Вероятное решение этой проблемы — использовать второй параметр шаблона, который принимает size_t.

template<typename Comparable, size_t MAX_SIZE = 100> class OrderedCollection
{

private:
Comparable data[MAX_SIZE];  //Error should be gone
int _size;
int _current;
2

Другие решения

Вам необходимо указать const Размер массива, размер массива должен быть известен во время компиляции.

Нечто подобное должно исправить:

  Comparable data[MAX_SIZE];
1

По вопросам рекламы [email protected]