C++程序问题,求指教错在哪

2024-11-23 08:47:46
推荐回答(2个)
回答1:

#include "stdafx.h"

#include
#include
#define NULL 0
using namespace std;

template

struct Node//改成class试试。struct没有默认构造函数,或者你自己加个构造函数。
 
{

DataType data;

Node *next;

};

template

class LinkList

{

public:

LinkList();

LinkList(DataType a[],int n);

private:

Node *first;

};

template

LinkList::LinkList(DataType a[],int n)

{

Node *first,*s,*p;

first=new Node;first->next=NULL;//Node是模版类,Node

int i;

for(i=0;i
{

s= new Node;s->data=a[i];//Node是模版类,Node

s->next=first->next;first->next=s;

}

}

int _tmain(int argc, _TCHAR* argv[])

{

int b[3];

b[0]=2,b[1]=4,b[2]=6;

LinkList a(b,3);

return 0;

}

模板类必须要有参数列表,也就是使用的时候要有Node<参数列表>。

回答2:

template
class LinkList
{
public:
LinkList();
LinkList(DataType a[],int n);
private:
Node *first;
}; // 这里的 ;改为半角 ;

// 两处 new Node 改为 new Node
first=new Node;first->next=NULL; 
s= new Node;s->data=a[i];