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 展开
#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 展开
展开全部
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你程序的文件夹里面有其它程序产生冲突
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查看一下你的文件的后缀名,肯定是.cpp调用了.c的文件或者是函数实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询