gpt4 book ai didi

c++ - 尝试创建链接列表堆栈时出现链接器错误

转载 作者:行者123 更新时间:2023-11-28 03:31:08 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why can templates only be implemented in the header file?
Undefined symbol on a template operator overloading function

对于我的学校作业,我需要编写一个使用链表创建堆栈的程序。不过,我不断收到链接器错误(特别是:错误 LNK2019:未解析的外部符号“public:__thiscall Stack::Stack(void)”(??0?$Stack@H@@QAE@XZ)在函数_main 1> C 中引用:\Users\devon.taylor\Desktop\New folder\Debug\PA3.exe : fatal error LNK1120: 1 unresolved externals)

这是我的代码:

标题:

template <class T>
class Stack
{
public:
Stack();
Stack(T data);
~Stack();
void push(T data);
T pop();
void display();
bool isEmpty();
bool isExist(T searchKey);

private:
Stack<T> *top;
Stack<T> *next;
T mData;
};

函数:

#include "stack.h"
#include <iostream>

using namespace std;

template <class T>
Stack<T>::Stack()
{
top=NULL;
}

template <class T>
Stack<T>::Stack(T data)
{
mData = data;
pNext = NULL;
}

template <class T>
Stack<T>::~Stack()
{

}

template <class T>
void Stack<T>::push(T data)
{
Stack *ptr;
ptr=new Stack<T>;
ptr->mData=data;
ptr->next=NULL;

if(top!=NULL)
{
ptr->next=top;
}
top=ptr;
cout<<"\nNew item inserted to the stack";
}

template <class T>
T Stack<T>::pop()
{


}
template <class T>
void Stack<T>::display()
{

}

主要功能:

#include <iostream>
#include "stack.h"

using namespace std;

void main ()
{
Stack<int>* stack;
stack = new Stack<int>;
//stack->push(19);



system("pause");
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com