Привет! Я перенес некоторые программы на сервер Linux, и теперь я получаю ошибку «неопределенная ссылка», и мне было интересно, если вы, ребята, могли бы помочь мне.
моя главная
#include <iostream>
#include "Stack.h"using namespace std;
int main() {
Stack istk;
istk.push(3.4);
istk.push(4.5);
istk.pop();
istk.push(7.1);
cout << istk.top() << endl;
istk.pop();
istk.pop();
cout << istk.top() << endl;
return 0;
}
Вот Stack.h
#ifndef STACK_H
#define STACK_H
#include "Node.h"
class Stack
{
private:
Node* tos;public:
Stack();
~Stack();
int is_empty() const;
int is_full() const;
void push(double);
void pop();
double top() const;
};
#endif
Вот Stack.cpp
#include <iostream>
#include <cassert>
Stack::Stack():tos(NULL) {
}int Stack::Stack is_empty() const {
return tos == NULL;
}
int Stack::Stack is_full() const {
return 0;
}
void Stack::Stack push(double d) {
Node* newNode = new Node(d);
if (is_empty()) {
tos = newNode;
}
else {
newNode->next = tos;
tos = newNode;
}
}
double Stack::Stack top() const{
assert(!is_empty());
return tos->data;
}
void Stack::Stack pop() {
assert(!is_empty());
Node* discard = tos;
tos = tos->next;
delete discard;}
Stack::~Stack()
{
while (!is_empty()) {
pop();
}
}
Все ошибки, которые я получаю, связаны со ссылками на функции стека.
Задача ещё не решена.
Других решений пока нет …