我想创建一个可以包含任何类型数据的通用数组。
该类看起来像GenericArray.h
:
#pragma once
#include "LinkedList.h"
template<class T>
class GenericArray
{
public:
GenericArray();
void push(T to_push);
private:
LinkedList<T>* _first;
};
实现看起来像GenericArray.cpp
:
#include "GenericArray.h"
template<class T>
GenericArray<T>::GenericArray() { this->_first = NULL; }
template<class T>
void GenericArray<T>::push(T to_push)
{
LinkedList<T>* new_node = new LinkedList<T>(to_push);
new_node->_next = NULL;
if (this->_first == NULL)
{
this->_first = new_node;
return ;
}
else
{
LinkedList<T>* last_nude = this->_first;
while (current->_next != NULL)
{
current = current->_next;
}
last_nude->_next = new_node;
}
}
但是,当我试图建立一个文件时,我得到了这个错误:
严重级代码描述项目文件行抑制状态 错误LNK2019未解析的外部符号“public:__ thishisall GenericArray :: GenericArray(无效)” 函数中引用了(?? 0?$ GenericArray @ H @@ QAE @ XZ) _main Homework5 c:\ Users \ SSS \ documents \ visual studio 2017 \ Projects \ Homework5 \ Homework5 \ main.obj 1
和
严重级代码描述项目文件行抑制状态 错误LNK2019未解析的外部符号“public:void __thiscall GenericArray :: push(int)“(?push @?$ GenericArray @ H @@ QAEXH @ Z) 在函数_main Homework5 c:\ Users \ VVV \ documents \ visual中引用 工作室2017 \ Projects \ Homework5 \ Homework5 \ main.obj 1
显然,当使用带模板的错误时,我做错了。但我按照我的代码来找到问题,我找不到任何可疑的东西。
如果你能开导我,我会感激我。 感谢。