Строка 8 - ошибка: недопустимое использование нестатического элемента данных 'Queue: maxQue' - PullRequest
0 голосов
/ 27 сентября 2018

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

Строка 8 - ошибка: недопустимое использование элемента нестатических данных 'Очередь: maxQue'

Строка 12 - ошибка: из этого местоположения

Строка 55 -' intQueue 'не было объявлено в этой области

Вот мои личные члены в моем определении класса:

class Queue
{
private:
    int maxQue = 5;
    int length;
    int beginning;
    int rear;
    int intQueue[maxQue];

Это часть функции, в которой я получил ошибку в строке 55.

void Queue::enqueue(int x, bool checkFull)
{
if(!checkFull)
{
    if(beginning == -1)
        beginning = 0;
    rear = (rear + 1) % maxQue;
    length++;
    intQueue[rear] = x;

}

Пожалуйста, помогите, еслиты можешь!

1 Ответ

0 голосов
/ 27 сентября 2018

Вы не можете использовать maxQue (переменную экземпляра) для указания размера известного размера массива времени компиляции.

Вы должны по крайней мере указать его как constexpr и static

class Queue
{
private:
    constexpr static int maxQue = 5;
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...