2013-01-20 69 views
0

我有一個結構,文件和一個包含函數的類。我試圖在我的函數中創建一個結構鏈表,但我不太明白如何去做。這是我的工作,迄今爲我的代碼部分:我把裏面的函數的字符串使用函數內部的結構

#include <iostream> 

using namespace std; 

class myPrintSpool 
{ 
public: 
    void send(string); 

private: 
    int printSpoolSize; 
    myPrintSpool *printSpoolHead; 
    myPrintSpool* next; 
}; 

struct file 
{ 
    string fileName; 
    int filePriority; 
    file* next; 
}; 

void myPrintSpool::send(string name) 
{ 
    //Adds to linked list 
    file file; 

    myPrintSpool* file = new myPrintSpool; 

    if(printSpoolHead == NULL) 
    { 
     printSpoolHead = file; 
    } 
    else 
    { 
     file->next = printSpoolHead; 
     printSpoolHead = file; 
    } 

    printSpoolSize++; 
} 

,這樣當用戶輸入一個文件名來發送,它改變了結構的名稱在結構該文件名文件更改爲該輸入名稱。不過,我不知道該怎麼做,因爲我無法讓上面的部分首先正常工作。

預先感謝您,並感謝您花時間幫助我!

+0

多少次你想說'file'?你不能拿出一些更獨特的名字嗎? –

+0

這可能是可能的。 –

回答

1

自從我完成任何C++以來,這已經有一段時間了,所以這些都是從回憶中得來的。在你提供的代碼中,你沒有實例化一個類。你正在爲一個分配內存。 如果你想一個新的類分配給該內存:

myPrintSpool printSpool = new myPrintSpool(); 
myPrintSpool *file = &printSpool; 

我爲你實際上是在做什麼,有些困惑。看起來printSpoolHead總是等於當前的myPrintSpool對象,並且如果它不是第一個實例化的東西,它會指向它自己。因爲你沒有針對你的錯誤的位置說任何具體的東西,所以做一個簡單的輸出來驗證函數正在做你認爲它應該(或正在)做的事情。

編輯:其實,我記得被揭去由C++實例化,所以它可能是:

myPrintSpool printSpool;