Не удается создать стек в теле класса

227
18 апреля 2017, 09:52

Хочу создать стек с элементами класса Disk в классе Pole, но получаю ошибку: синтаксическая ошибка: отсутствие ";" перед "<"

Pole.h

#pragma once
#include <stack>
#include "Disk.h"

class Pole
{
private:
    char num;
    stack <Disk> pole; //здесь ошибка
public:
    Pole();
    ~Pole();
    void Number(int n);
    int Get_Number();
};
Answer 1

stack у вас указывает на ::stack.
Не знаю, где конкретно он у вас определён, но похоже, что определён, и не имеет шаблонной формы(иначе была бы другая ошибка).

Варианты решения:

  • Указать namespace: std::stack<Disk>
  • Импортировать namespace полностью: using namespace std;
  • Импортировать из namespace нужный символ: using std::stack;
READ ALSO
Сложение двух больших чисел

Сложение двух больших чисел

Большие числа реализую как массив unsigned __int64[8]Как реализовать операции сложения и умножения для таких чисел? Нашел пример алгоритма на сайте,...

273
Функция add - С++ [требует правки]

Функция add - С++ [требует правки]

Не могу ввести в файл ФИО и название товараПомогите найти ошибку

619
RCSwitch (Arduino) Принцип работы библиотеки

RCSwitch (Arduino) Принцип работы библиотеки

Уважаемые стэковерфолверцы!

396
создать проект на angular2

создать проект на angular2

Подскажите пожалуйста как создать проект на angular2Раньше я делал так:

202