为什么我总是收到这个"undefined reference"错误?

Why do I keep getting this "undefined reference" error?

本文关键字:undefined reference 错误 为什么      更新时间:2023-10-16
driver.cc
#include <iostream>
#include "dynStack.h"
using namespace std;
// class definition
int main()
{
  dynstack<int> c1;

  c1.push(1);
  cout<<"hello";
  return 0;
}

dynStack.h
#include <iostream>
using namespace std;
template <class T>
class dynstack
{
    public:
        dynstack();
        void push(T data);

};

dynStack.cc
#include "dynStack.h"
template <class T>
dynstack<T>::dynstack()
{
}
template <class T>
void dynstack<T>::push(T data)
{

    return data;
}

我是c++新手。当我运行代码时,它一直给我"未定义的引用'dynstack::dynstack()'错误。我检查了include和prototype,但没有发现错误。谁能帮我找出我哪里做错了吗?谢谢你。

模板化的类方法,除非是从同一个.cpp中调用,否则需要在头文件中实现它们,或者在头文件中包含一个内联文件。