我有一个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更改为该输入名称。但是,我不知道该怎么办,因为我无法让上述部分首先正常工作。
提前感谢您,感谢您抽出宝贵时间帮助我!
答案 0 :(得分:1)
自从我完成任何C ++以来已经有一段时间了,所以这一切都来自回忆。在您提供的代码中,您没有实例化类。你正在为一个人分配内存。 如果要为该内存分配新类:
myPrintSpool printSpool = new myPrintSpool();
myPrintSpool *file = &printSpool;
我对你实际做的事情感到有些困惑。似乎printSpoolHead将始终等于当前的myPrintSpool对象,如果它不是第一个实例化,它会指向自身。
由于您没有详细说明错误的位置,请执行简单的输出以验证函数是否正在执行您认为应该(或正在)执行的操作。
编辑:实际上,我记得被C ++实例化所抛弃,所以它可能是:
myPrintSpool printSpool;