0

好的,所以我决定开始从我的 C++ 知识中扫除灰尘,并开始使用链表做一些简单的示例,但我遇到了一些错误。我的 Node 类是TestClass,我的链表是List;据我所知,这些问题与语法有关。

节点头:

#pragma once
class TestClass
{
public:
    int x, y;
    TestClass *next;
    TestClass *prev;
    TestClass();
    TestClass(int,int);
    ~TestClass();
};

节点基类

#include "stdafx.h"
#include "TestClass.h"

TestClass::TestClass()
{
}

TestClass::TestClass(int _x, int _y)
{
    x = _x;
    y = _y;
 }

TestClass::~TestClass()
{
}

标题列表类

#pragma once
class List
{
public:

    TestClass *first;
    TestClass *last;

    List();
    ~List();
    void AddNew(TestClass);
    void PrintList();
};

列出基类

#include "stdafx.h"
#include "List.h"
#include "TestClass.h"
#include <iostream>


using namespace std;

List::List()
{
    first = last = NULL;
}


List::~List()
{

}

void List::AddNew(TestClass node)
{
    if (!first && !last)
    {
        *first = *last = node;
        //first = last = &node;
    }
    else
    {
        TestClass *temp;
        temp = last;
        last = &node;
        temp->next = last;

    }
}

void List::PrintList()
{
    TestClass *p = first;

    while (p != NULL)
    {
        cout << p->x << " ";
        p = p->next;
    }

}

我收到大约 16 个错误,例如:

  • List.cpp(基类)中的第一个未声明标识符,最后一个
  • 语法错误:缺少 ';' 在 '*' 之前 -> List.h 声明 TestClass *last;

你能帮忙吗?

4

2 回答 2

1

#include "TestClass.hList.h使用类型之前。

于 2013-11-10T19:15:02.883 回答
1

Header List 类应包括 header Node Header,因为它引用了它的声明。

于 2013-11-10T19:18:01.607 回答