c++ - C++链表声明中的语法错误

标签 c++ compiler-errors linked-list doubly-linked-list

好的,所以我决定开始清除我的 C++ 知识中的灰尘,并开始使用链表做一些简单的示例,但是我遇到了一些错误。我的节点类是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(基类)中最先,最后
  • 语法错误:缺少“;”在 '*' 之前 -> TestClass *last 的 List.h 声明;

你能帮帮我吗?

最佳答案

#include "TestClass.h in List.h before use the type.

关于c++ - C++链表声明中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19893895/

相关文章:

c++ - 处理 WM_KEYDOWN

c++ - 在 QT/C++ 中在后台启动并运行一个类成员函数

c++ - 在 C++ 中,fork 和 kill 不会杀死所有的子进程

c++ - 我是否想使用 virtual destructor=default 来正确处理带有虚函数的类?

Java applets - 在你声明的地方初始化和实例化

c - 链表温度自动变化

c - 链表节点初始化,不使用malloc()

c++ - 创建重载运算符时出错

compiler-errors - ifort composer_xe_2015.3.187的编译问题

c++ - 使用 OpenMP 处理单链表