带有模板的构造函数问题
Issue with Constructors with templates
下面是我的 cpp 代码。我在同一个 cpp 文件中写了声明和定义,因为这段代码中有模板,当我有两个单独的头文件和代码文件时,我遇到了一些错误。所以我不得不把所有东西都写在同一个文件中。尽管如此,我在构造函数声明和定义方面仍然存在错误。
为什么会抛出以下错误,是否缺少某些内容。
template<class T>
class Linklist
{
public:
Linklist();
Linklist(Linklist<T> & a);
~Linklist();
}
template<class T>
Linklist<T>::Linklist()
{
}
template<class T>
Linklist::Linklist(Linklist<T> & a)
{
}
错误 C2244:'Linklist::{ctor}':无法将函数定义与现有声明定义相匹配
'Linklist::Linklist(Linklist &)' 个现有声明
'Linklist::Linklist(Linklist &)'
'Linklist::Linklist(void)'
原文:
template<class T>
Linklist::Linklist(Linklist<T> & a) // You forgot something here... see below
{
}
固定:
template<class T>
Linklist<T>::Linklist(Linklist<T> & a) // <T> is what was missing.
{
}
并且 class 声明也以 ;
结尾。
下面是我的 cpp 代码。我在同一个 cpp 文件中写了声明和定义,因为这段代码中有模板,当我有两个单独的头文件和代码文件时,我遇到了一些错误。所以我不得不把所有东西都写在同一个文件中。尽管如此,我在构造函数声明和定义方面仍然存在错误。 为什么会抛出以下错误,是否缺少某些内容。
template<class T>
class Linklist
{
public:
Linklist();
Linklist(Linklist<T> & a);
~Linklist();
}
template<class T>
Linklist<T>::Linklist()
{
}
template<class T>
Linklist::Linklist(Linklist<T> & a)
{
}
错误 C2244:'Linklist::{ctor}':无法将函数定义与现有声明定义相匹配 'Linklist::Linklist(Linklist &)' 个现有声明 'Linklist::Linklist(Linklist &)' 'Linklist::Linklist(void)'
原文:
template<class T>
Linklist::Linklist(Linklist<T> & a) // You forgot something here... see below
{
}
固定:
template<class T>
Linklist<T>::Linklist(Linklist<T> & a) // <T> is what was missing.
{
}
并且 class 声明也以 ;
结尾。