у меня есть код на с++, нужно найти в чем заключается ошибка, описать ее, и по возможности исправить:)
#include<iostream>
#include<queue>
using namespace std;
class stack
{
public:
stack(int size);
void push(int d );
int pop();
};
int main()
{
setlocale(LC_ALL,"RUSSIAN");
stack a(10);
a.push(1);
a.push(2);
a.push(3);
a.push(4);
a.push(5);
cout << a.pop() << ' ';
cout << a.pop() << ' ';
cout << a.pop() << ' ';
cout << a.pop() << endl;
}
У вас есть создаваемый вами класс stack, с которым вы работаете. Вы указали компилятору, что у него есть конструктор и функции-члены pop и push. Компилятор принял это к сведению.
Вы использовали все три в программе. Компилятор не возражал - вы же объявили, что они есть (будут), он скомпилировал, написав в объектных файлах что-то вроде (в переводе на человеческий язык) - "компоновщик, тут вызов функции stack::pop, возьми его сам знаешь откуда, и подставь".
Компоновщик рад стараться. Он ищет эти функции везде - в каждом файле, который ему передан для компоновки (но вы передали только один, с приведенным текстом), в библиотеках - но ничего не находит. Потому что вы не озаботились написать определения (реализации) этих функций. И никто не знает, что вы хотели в них написать - может, функция pop должна выводить на экран мультик... А делать что-либо без команды ни компилятор, ни компоновщик не приучены.
Ну, и жалуется компоновщик на отсутствие ваших функций, как умеет - что (в переводе) встретил неразрешенный символ, на который есть ссылка в функции main...
У вас либо отсутствует реализация класса stack, либо вы хотели подключить std::stack, но забыли включить заголовочный файл
#include <stack>
Я склоняюсь к первому.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости