我有一个结构体、文件和一个包含函数的类。我试图在我的函数中创建一个结构体链表,但我不太明白如何去做!以下是我到目前为止对这部分代码所做的工作:
#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++;
}
我在函数内部发送一个字符串,这样当用户输入要发送的文件名时,它将结构体的名称更改为该文件名,而结构体文件更改为该输入名称。然而,我不知道该怎么做,因为我不能让上面的部分工作正常。
提前感谢您,感谢您抽出时间来帮助我!
我已经有一段时间没有做任何c++了,所以这些都是来自回忆。在您提供的代码中,您没有实例化一个类。您正在为其中一个分配内存。如果你想给内存分配一个新类:
myPrintSpool printSpool = new myPrintSpool();
myPrintSpool *file = &printSpool;
我有点搞不懂你到底在做什么。printSpoolHead似乎总是等于当前的myPrintSpool对象,如果它不是第一次实例化,它将指向自己。
因为你没有说任何具体的错误的位置,做一个简单的输出来验证函数正在做你认为它应该(或正在)做的事情。
编辑:实际上,我记得被c++实例化抛弃了,所以它可能是:
myPrintSpool printSpool;