我寫了代碼,其中我定義了main之外的結構,用於類的排隊鏈接列表。它基本上是這樣的:如何在使用頭文件和cpp文件時定義結構?
class Queue
{
public:
void enqueue (int x);
void dequeue();
void print();
};
struct queueNode
{
int data;
queueNode * next;
queueNode * prev;
};
queueNode * head;
queueNode * tail;
queueNode * n;
//class functions that use head, tail, and n
int main()
{
//functions that use head, tail, and n
return 0;
}
這是一個非常非常簡潔的版本,但你得到的圖片。
問題是,現在我把它分成不同的文件,我不知道把頭,尾或n放在哪裏。
如果我把它們放在標題中,它們沒有被括起來,所以它們不能只是頭文件的尾部。
如果我把它們放在實現文件中,它們不能被main訪問。我不能#include實現文件,因爲它是一個重新定義。
如果我把它們放在main中,它們對於實現文件是不可訪問的。
我應該把這些放在哪裏?是否有某種約定?
他們不應該在'排隊'? – tkausl
感謝您的回覆。如果他們在隊列中,Main中沒有任何東西似乎能夠看到他們......編輯:神聖的F,我很笨。您的評論讓我看到了解決方案,即將任何引用從主要引用並將其放入實現文件中的函數中。謝謝! – FKAjasmine