Я пытаюсь создать класс связанного списка в Eclipse, но не могу заставить его правильно скомпилироваться.
Вот мой файл .cc (фрагмент кода)
#include <iostream>
#include "list.h"
using namespace std;
template <class T>
bool List<T>::isEmpty()
{
return (firstNode == NULL);
}
и вот мой файл list.h (фрагмент кода)
#ifndef __LIST_H__
#define __LIST_H__
template <typename T>
class List {
public:
bool isEmpty();
private:
struct node {
node *following;
node *previous;
T *contents;
};
node *firstNode;
};
#include "list.cc"
#endif /* __LIST_H__ */
Я пытаюсь «Создать все» в затмении, но получаю следующую ошибку:
make all
Building file: ../list.cc
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"list.d" -MT"list.d" -o "list.o" "../list.cc"
../list.cc:13: error: redefinition of 'bool List<T>::isEmpty()'
../list.cc:13: error: 'bool List<T>::isEmpty()' previously declared here
make: *** [list.o] Error 1
Помогите пожалуйста ... спасибо. Я буду рад предоставить любые разъяснения, необходимые
РЕДАКТИРОВАТЬ: мне дали файл .h, так что я знаю, что это правильно. Я также знаю, что у меня должен быть файл .cc с именем list.cc (он включен в конец файла .h)