0

私はマルチファイルの使用に少し慣れていません。リンクされたリストのこの非常に単純なコードがありますが、デバッグすると「動作が停止」します。

この問題は、以前に数回発生しました。「リンクされたリスト」コードに何か問題があるか知りたいですか? または、複数ファイルの編成に何か問題がありますか?

どんな助けでも大歓迎です。

======================================

//linkedListMAIN.cpp

#include "linkedlist.cpp"

void main()
{
linkList<int> l;

l.append(5);
l.traverse();
}

======================================

//linkedList.h    

#include<iostream>
using namespace std;

template <class T>
class linkList
{
private:
struct node
{
    T data;
    node *next;
};
node *head;
node *tail;
int noOfEl;
public:
linkList()
{
    noOfEl = 0;
    head=tail=NULL;
}

void traverse();
int length();
void insertAt(T, int);
T delAt(int);
void append(T);
void clear();
};

======================================

//linkedList.cpp    
#include "linkedlist.h"

template <class T>
void linkList<T>:: traverse()
{
node<T> *current=head;

if(head == NULL)
{
    cout<<"List empty."<<endl;
}

while(current != NULL)
{
    cout<<current->data;
    current = current->next;
}
}


template <class T>
void linkList<T>::append(T data)
{
node< *newNode= new node;

newNode->next = NULL;
tail->next = newNode;
tail = newNode;

noOfEl++;  
 }
4

1 に答える 1

2

.cppinkedListMAIN.cpp ではなく、ヘッダー ( ) を含める必要があります.h。また、使用していない限りc++11、テンプレート化されたクラスのクラス定義をヘッダーに配置する必要があります。

于 2013-01-19T18:57:09.847 に答える