2 tao496832911 tao496832911 于 2016.01.14 23:37 提问

LNK2019: 无法解析的外部符号

本人在学数据结构--循环链表,源代码为实现一个循环链表,目前只定义了构造函数、dequeue()和enqueue()。其中dequeue()和enqueue()分别为删除和增加节点,当尝试调试enqueue(),出现了错误
#include

#ifndef CLQUEUE_H
#define CLQUEUE_H

typedef int QueueElement;

class CLQueue{
public:
CLQueue();
~CLQueue();
const CLQueue& operator= (const CLQueue& original);
CLQueue(const CLQueue& original);
bool empty();
void enqueue(QueueElement value);
void dequeue();
void front();
void diaplay();

private:
class Node{
public:
QueueElement data;
Node* next;
Node(QueueElement value, Node* link = 0) :data(value), next(link){}
};

typedef Node* NodePointer;

NodePointer myBack;

};
#endif

using namespace std;

#include"CLQueue.h"

CLQueue::CLQueue() :myBack(0){}

void CLQueue::enqueue(QueueElement value){
NodePointer newPtr = new CLQueue::Node(value);
if (empty()){
myBack->next = newPtr;
myBack = newPtr;
}
else{
newPtr->next = myBack->next;
myBack->next = newPtr;
myBack = newPtr;

}

}

void CLQueue::dequeue(){
if (!empty()){
CLQueue::NodePointer dePtr = myBack->next;
if (dePtr->next == dePtr)
myBack = 0;
else
myBack->next = dePtr->next;
delete dePtr;
}
else
cerr << "The CLQueue is empty\n";
}

bool CLQueue::empty(){
return myBack == 0;
}

using namespace std;

#include"CLQueue.h"

int main(){
CLQueue clq;
for (int i = 0; i < 5; i++)
clq.enqueue(i);
cout << "Enquue*******\n";

}

main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CLQueue::~CLQueue(void)" (??1CLQueue@@QAE@XZ),该符号在函数 "void __cdecl exercise8_3_8(void)" (?exercise8_3_8@@YAXXZ) 中被引用
1>E:\VC++\ADT\ADTch8\Debug\ADTch8.exe : fatal error LNK1120: 1 个无法解析的外部命令

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.14 23:45

~CLQueue();
你定义了析构函数,但是它的实现呢?

91program
91program   Ds   Rxr 2016.01.15 08:51

在 ~CLQueue(); 后增加一对大括号吧,如 ~CLQueue() {};

CSDNXIAOS
CSDNXIAOS   2016.01.14 23:39

VS2010 解决链接错误:error LNK2019: 无法解析的外部符号 __iob  

2011-03-29 13:31:46|  分类: 软件学习 |  标签:error  lnk2019  _iob  |字号 订阅

该错误主要是由于静态库在VC6编译而主程序在VC2010编译,大家用的CRT不......
答案就在这里:【LNK2019】 无法解析的外部符号 __iob
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!