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 (基本クラス) で宣言されていない識別子が最初に、最後に
  • 構文エラー: ';' がありません '*' の前 -> TestClass の List.h 宣言 *last;

どうか手を差し伸べていただけませんか?

4

2 に答える 2

1

#include "TestClass.hList.hタイプを使用する前に。

于 2013-11-10T19:15:02.883 に答える
1

Header List クラスは、そこから宣言を参照するため、ヘッダー Node Header を含める必要があります。

于 2013-11-10T19:18:01.607 に答える