可能重复:
Why do I get “unresolved external symbol” errors when using templates?
Link error using templatesC++错误LNK 1120有关模板
我哈瓦在两个文件 'MyHeap.h' 模板类 'MyHeap' 和“MyHeap。 CPP”。编译成vs10,好的。但是当我尝试在main中使用这个类时,发生了这个错误。我环顾四周,依然无法自己解决这个问题。请帮我...
错误信息>>
MyHeap<int> minHeap(MyHeap<int>::MaxHeap);
错误1错误LNK2001:无法解析的外部符号 “公用:__thiscall MyHeap :: MyHeap(枚举MyHeap :: HeapType)”(?? 0? $ MyHeap @ H @@ QAE @ W4HeapType @ 0 @@ Z)D:\文档\ Visual Studio 2010 \ Projects \ C++ \ ConsoleCPP_Trivia \ ConsoleCPP_Trivia \ program.obj 错误2错误LNK1120:1无法解析的外部D:\文档\ Visual Studio 2010 \ Projects \ C++ \ ConsoleCPP_Trivia.exe \ Debug \ ConsoleCPP_Trivia.exe
MyHeap.h:
-----------------------------------------------------------
#pragma once
#include <vector>
using namespace std;
template <class T>
class MyHeap
{
public:
static enum HeapType {CustomizedHeap, MaxHeap, MinHeap};
private:
typedef bool (*COMP_FUNC)(const T&, const T&);
COMP_FUNC _comp;
HeapType _heapType;
vector<T> _data;
public:
MyHeap(HeapType heap_type = MaxHeap);
MyHeap(COMP_FUNC compare_function);
void add(const T& item);
T remove();
bool isEmpty() const;
void clear();
private:
bool __compare(const T&, const T&);
};
-1:可能是最相关的与C++有关的SO问题。 – Troubadour 2012-07-07 10:24:06
@Troubadour什么是SO? – tmj 2012-07-07 10:48:24