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中调用,否则模板化的类方法需要在标头中包含其实现,或者在标头中包含内联文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句