1>mainProg.obj : error LNK2019: unresolved external symbol "public: int __thiscall Stack<int>::pop(void)" (?pop@?$Stack@H@@QAEHXZ) referenced in function _main 1>mainProg.obj : error LNK2019: unresolved external symbol "public: void __thiscall Stack<int>::push(int)" (?push@?$Stack@H@@QAEXH@Z) referenced in function _main 1>C:\Users\oliver\documents\visual studio 2010\Projects\StackTemplate\Debug\StackTemplate.exe : fatal error LNK1120: 2 unresolved externals
Hier sind die codes:
Stack.h
#define NMAX 100
template <class T>
class Stack
{
private:
T stack[NMAX];
int stackPointer;
public:
Stack() {stackPointer = 0;}
void push(T value);
T pop(void);
void popall(void)
{ stackPointer = 0; }
};
Stack.cpp
#include <iostream>
#include "Stack.h"
using namespace std;
template<class T>
void Stack<T>::push(T value)
{
if(stackPointer < NMAX)
stack[stackPointer++] = value;
else
cout << "PUSH: Stack is full" << endl;
}
template<class T>
T Stack<T>::pop()
{
if(stackPointer > 0)
return stack[--stackPointer];
else
cout << "POP: Stack is empty" << endl;
}
mainProg.cpp
#include <iostream>
#include <string>
#include "Stack.h"
using namespace std;
int main()
{
int items;
int i = 0;
Stack<int> stapel;
cout << "Legen Sie bitte 10 Zahlen auf den Stapel" << endl;
while(i < 10)
{
cin >> items;
stapel.push(items);
}
cout << "Sie haben diese Zahlen auf den Stapel gegeben" << endl;
while(i < 10)
cout << stapel.pop() << endl;
cout << "Stapel wird geleert..." << endl;
stapel.popall();
cout << endl;
return 0;
}
Was hab ich da was falsch gemacht?
Danke schon mal im Voraus

Hilfe
Neues Thema
Antworten


Nach oben


