使用CPP模板时“未解析的外部符号”

时间:2017-09-17 19:47:39

标签: c++ templates

我想创建一个可以包含任何类型数据的通用数组。 该类看起来像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

显然,当使用带模板的错误时,我做错了。但我按照我的代码来找到问题,我找不到任何可疑的东西。

如果你能开导我,我会感激我。 感谢。

0 个答案:

没有答案