error LNK2019: 无法解析的外部符号, 该符号在函数 _main 中被引用 20

我的代码如下:#ifndefS14章3_H_#defineS14章3_H_#include<iostream>template<typenameType>//calss不... 我的代码如下:
#ifndef S14章3_H_#define S14章3_H_
#include <iostream>
template <typename Type> //calss不代表一定是类,仅指明Type是类型参数
class QueueTp
{
private:
Type * fullname;
int size;
public:
//默认构造函数,不用初始化fullname,它是抽象的,默认构造函数
explicit QueueTp(int Size = 10);
~QueueTp(){ delete [] fullname; } //析构函数,空函数
void Set_fullname(const Type & fn); //给fullname, id赋值
void Show() const; //显示所有数据
};

#endif
#include "s14章3.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
// QueueTp methods
template <typename Type>
QueueTp<Type>::QueueTp(int Size):size(Size)
{
fullname = new Type[Size];
}

template <typename Type>
void QueueTp<Type>::Set_fullname(const Type & fn)//成员初始化列表
//初始化fullname为s
{
fullname = fn;
}

template <typename Type>
void QueueTp<Type>::Show() const
{
cout << "QueueTp data:\n";
cout << "Fullame: " << fullname << endl;
}

#include <iostream>
#include <cstring>
#include <string>
#include "s14章3.h"
const int SIZE = 2;

int main()
{
using std::cin;
using std::cout;
using std::endl;
using std::strchr;

//设置大小为SIZE的类模版数组
QueueTp<const char*> * lolas[SIZE];
int ct;
const char * name[SIZE] =
{
"Qiu Gao",
"Jin Bao Hong"
};
for (ct = 0; ct < SIZE; ct++)
{
char choice;

//输入w写入内容到QueueTp,输入q退出
cout << "Enter the QueueTp data:\n"
<< "w: QueueTp q: quit\n";
cin >> choice;
while (strchr("wq", choice) == NULL)
{
cout << "Please enter w or q: ";
cin >> choice;
}
if (choice == 'q')
break;
else if(choice == 'w')
{
lolas[ct] = new QueueTp<const char*>;
lolas[ct]->Set_fullname(name[ct]);
}
}

cout << "\nHere is your data:\n";
int i;
for (i = 0; i < ct; i++)
{
cout << endl;
lolas[i]->Show();
}
for (i = 0; i < ct; i++)
delete lolas[i];
cout << "Bye.\n";
return 0;
}
#ifndef S14章3_H_#define S14章3_H_复制错了,应该#ifndef S14章3_H_后换行

这是错误信息:
1>14章3(有难以发现的错误).obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall QueueTp<char const *>::Show(void)const " (?Show@?$QueueTp@PBD@@QBEXXZ),该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 "public: void __thiscall QueueTp<char const *>::Set_fullname(char const * const &)" (?Set_fullname@?$QueueTp@PBD@@QAEXABQBD@Z),该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 "public: __thiscall QueueTp<char const *>::QueueTp<char const *>(int)" (??0?$QueueTp@PBD@@QAE@H@Z),该符号在函数 _main 中被引用d
展开
 我来答
usernamevalid
推荐于2018-04-25 · TA获得超过4417个赞
知道小有建树答主
回答量:2001
采纳率:71%
帮助的人:758万
展开全部
S14章3_H 这个宏是否在其他地方意外定义?

把你的宏定义改成:
#ifndef ___
#define ___
#include ___
#endif
这种标准形式
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sjxjjdje
2016-09-29
知道答主
回答量:3
采纳率:0%
帮助的人:2054
展开全部
可能是你程序的文件夹里面有其它程序产生冲突
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9b75337
2018-04-24
知道答主
回答量:1
采纳率:0%
帮助的人:875
展开全部
查看一下你的文件的后缀名,肯定是.cpp调用了.c的文件或者是函数实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式