我想寫我的類和結構實現文件。該類有來自結構的變量。我不斷收到錯誤:編譯器錯誤:錯誤:'ListNode'沒有命名一個類型
LinkedList.h:70:8:錯誤:'ListNode'沒有命名一個類型 ListNode * head;
LinkedList.h:71:8:錯誤:'ListNode'沒有指定類型 ListNode * cursor;
LinkedList.h看起來是這樣的:
#ifndef CLASS_LINKEDLIST_H
#define CLASS_LINKEDLIST_H
// Header files
#include <iostream>
#include "ListNode.h"
using namespace std;
class LinkedList
{
public:
LinkedList(int maxSize = 10);
LinkedList(const LinkedList& other);
~LinkedList();
private:
ListNode* head;
ListNode* cursor;
int capacity;
int size;
};
#endif // ifndef CLASS_LINKEDLIST
ListNode.h是這樣的結構:
#ifndef STRUCT_LISTNODE_H
#define STRUCT_LISTNODE_H
using namespace std;
struct ListNode
{
ListNode(int nodeData, ListNode* nextPtr);
int dataItem;
ListNode* next;
};
#endif // STRUCT_LISTNODE_H
ListNode.cpp看起來是這樣的:
#ifndef STRUCT_LISTNODE_H
#define STRUCT_LISTNODE_H
#include "ListNode.h"
#include <iostream>
ListNode:: ListNode(int nodeData, ListNode* nextPtr)
{
dataItem = nodeData;
next = nextPtr;
}
#endif // STRUCT_LISTNODE_H
這裏是LinkedList.cpp的頂部
#ifndef STRUCT_LISTNODE_H
#define STRUCT_LISTNODE_H
// header files
#include "LinkedList.h"
我不允許更改.h文件,只是.cpp文件。我知道有一件簡單的事情我忘記了,但我似乎無法弄清楚。
感謝您提前提供任何幫助。
* LinkedList.cpp *爲什麼包含警衛?它是否被另一個文件包含? –
是的,從你的CPP文件中刪除包含警衛。包括警衛通常是說'#ifndef filename_h'的行。 –
這是作業,你給了頭文件?如果是這樣,他們擔心他們在頭文件中使用名稱空間標準符號......在頭文件中使用名稱空間是一個壞主意。 –