-1
我有以下類。C++類模板繼承調用構造器/析構器
template <class T>
class DivideConquerTask {
public:
DivideConquerTask() = delete;
DivideConquerTask(int problemSize, int branchingSize);
virtual ~DivideConquerTask();
DivideConquerTask(const DivideConquerTask& other) = delete;
DivideConquerTask& operator=(const DivideConquerTask& rhs) = delete;
DivideConquerTask(DivideConquerTask&& other) = delete;
DivideConquerTask& operator=(DivideConquerTask&& rhs) = delete;
...
和CPP文件
template <class T>
DivideConquerTask<T>::DivideConquerTask(int problemSize, int branchingSize) :
_problemSize { problemSize }, _branchingSize { branchingSize } {
}
template <class T>
DivideConquerTask<T>::~DivideConquerTask() {
/* Currently no resources managed. */
}
然後我有一個類:
class MergeSortTask final : public DivideConquerTask<int> {
public:
virtual ~MergeSortTask();
MergeSortTask(int data[], int problemSize, int branchingSize);
...
與CPP文件
MergeSortTask::~MergeSortTask() {
}
MergeSortTask::MergeSortTask(int* data, int problemSize, int branchingSize) :
DivideConquerTask(problemSize, branchingSize), _data { data } {
}
,並從該我得到錯誤信息:
未定義參考Actors::DivideConquerTask<int>::~DivideConquerTask() undefined reference to
演員:: DivideConquerTask :: DivideConquerTask(INT,INT)
其中演員被命名空間的一切聲明/定義。
這裏有什麼問題嗎?爲什麼它找不到我的基構造函數/析構函數?
注:我省略了一些微不足道的功能,工作正常。
對不起。沒有找到重複。謝謝你指導我! – UmaN
我不明白爲什麼人們沒有解釋就倒下了。那麼我怎樣才能改善未來的問題呢? – UmaN