使用函数内部的结构

时间:2013-01-20 01:43:49

标签: function class pointers struct linked-list

我有一个struct,file和一个包含函数的类。我正在尝试在我的函数中创建一个结构的链接列表,但我不太明白如何去做!到目前为止,这是我的代码部分的工作:

#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++;
}

我在函数内部发送一个字符串,这样当用户输入要发送的文件名时,它会将结构名称更改为struct file中的fileName更改为该输入名称。但是,我不知道该怎么办,因为我无法让上述部分首先正常工作。

提前感谢您,感谢您抽出宝贵时间帮助我!

1 个答案:

答案 0 :(得分:1)

自从我完成任何C ++以来已经有一段时间了,所以这一切都来自回忆。在您提供的代码中,您没有实例化类。你正在为一个人分配内存。 如果要为该内存分配新类:

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

我对你实际做的事情感到有些困惑。似乎printSpoolHead将始终等于当前的myPrintSpool对象,如果它不是第一个实例化,它会指向自身。

由于您没有详细说明错误的位置,请执行简单的输出以验证函数是否正在执行您认为应该(或正在)执行的操作。

编辑:实际上,我记得被C ++实例化所抛弃,所以它可能是:

myPrintSpool printSpool;