【问题标题】:Using a Struct Inside of a Function在函数内部使用结构
【发布时间】:2013-01-20 01:43:48
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你还想说多少次file?你不能想出一些更独特的名字吗?

标签: function class pointers struct linked-list


【解决方案1】:

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

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

我对您实际在做什么感到有些困惑。看起来 printSpoolHead 将始终等于当前的 myPrintSpool 对象,如果它不是第一个实例化的对象,它就会指向自身。

由于您没有具体说明错误的位置,因此请执行一个简单的输出以验证该函数正在执行您认为应该(或正在)执行的操作。

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

myPrintSpool printSpool;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 2018-10-22
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    相关资源
    最近更新 更多