This question already has answers here:
Why can templates only be implemented in the header file?
(16个答案)
5年前关闭。
我的最后一个问题:my last post
我在上一篇文章中解决了这个问题。到目前为止一切都很好。有一个新问题。
在项目A中,我已经编码了一个linkedList类模板。
无论如何,我创建了另一个类,其中包括
作为私有成员变量。
这是实际的代码:
当我构建项目时,出现以下问题:
(16个答案)
5年前关闭。
我的最后一个问题:my last post
我在上一篇文章中解决了这个问题。到目前为止一切都很好。有一个新问题。
在项目A中,我已经编码了一个linkedList类模板。
#ifndef LINKEDLIST_H_
#define LINKEDLIST_H_
template<class T>
struct Node{
T value;
Node* next;
};
template<class T>
class linkedList
{
private:
Node<T>* head;
public:
bool isEmpty() const{ return head == nullptr;}
Node<T>* getHead() const{return head;}
bool existVal(T value) const;
void insertVal(T value);
void deleteVal(T value){}
linkedList(){}
~linkedList(){}
};
#endif
无论如何,我创建了另一个类,其中包括
linkedList<unsigned int> num1
作为私有成员变量。
这是实际的代码:
#include"linkedList.h"
#ifndef L2_H_
#define L2_H_
class Add2Nums{
public:
Add2Nums(unsigned int, unsigned int);
~Add2Nums(){}
private:
linkedList<unsigned int> num1;
linkedList<unsigned int> num2;
Add2Nums();
};
#endif
#include"L2.h"
Add2Nums::Add2Nums(unsigned int a, unsigned int b){
while(a!=0){
num1.insertVal(a%10);
a/=10;
}
while(b!=0){
num2.insertVal(b%10);
b/=10;
}
}
当我构建项目时,出现以下问题:
最佳答案
您需要将链接列表实现移到linkedList.h的末尾。
09-25 18:53