独自のベクター クラスを作成しています。
.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));
}
main.cpp:
#include "MyVector.h"
int main()
{
MyVector<char> myTestVector;
return 0;
}
MyVector オブジェクトを単純に作成しようとするとエラーが発生します。エラーは次のとおりです。
MyVector::MyVector()、参照元: main.o ld の _main: アーキテクチャ x86_64 のシンボルが見つかりませんでした。clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (-v を使用して呼び出しを確認してください)
私は元々、すでに指定された型で動作するようにクラスを作成しましたが、今では任意の型で動作する必要があります。
このエラーが発生するのはなぜですか? 前もって感謝します!