<分区>
我正在制作自己的 vector 类。
.h:
template<typename T>
class MyVector
{
private:
T *elements;
int elementCount;
public:
MyVector();
MyVector(int size);
void push_back(T value);
void pop_back();
int size();
T at(int index);
bool empty();
void clear();
void swap(MyVector v2);
};
.cpp:
template<typename T>
MyVector<T>::MyVector()
{
elementCount = 0;
elements = new int[elementCount];
elements = (int *) realloc (elements, elementCount * sizeof(int));
}
主要.cpp:
#include "MyVector.h"
int main()
{
MyVector<char> myTestVector;
return 0;
}
尝试简单地创建 MyVector 对象时出现错误,错误是:
MyVector::MyVector(), referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
我最初编写该类是为了处理一个已经指定的类型,现在我需要它处理任何给定的类型。
为什么会出现此错误?提前致谢!