如何解决我试图了解模板类的工作方式,但我不断遇到编译问题
我试图更好地了解模板类如何工作。我以为一旦在main中声明模板化的类对象,就可以选择想要的类型。然后,当您调用该函数时,将传入相同的值,编译器将识别出所需的类型。创建类时,我得到ld:在x86_64体系结构中找不到符号。我知道我缺少一些东西,但我无法弄清楚。如果有人可以帮助,将不胜感激。
main.cpp
#include "dynamicStack.h"
int main()
{
dynamicStack<string> str;
str.push();
return 0;
}
dynamicStack.cpp
#include "dynamicStack.h"
template <class T>
void dynamicStack<T>::push()
{
cout << "Hello ";
}
template <class T>
dynamicStack<T>::dynamicStack()
{
}
template <class T>
dynamicStack<T>::~dynamicStack()
{
}
dynamicStack.h
#ifndef __DYNAMICSTACK_H_INCLUDED__
#define __DYNAMICSTACK_H_INCLUDED__
#include <iostream>
#include <string>
using namespace std;
template <class T>
class dynamicStack
{
public:
dynamicStack();
~dynamicStack();
void push();
private:
T data;
};
#endif
错误:
x86_64体系结构的未定义符号:
“ dynamicStack
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。