gpt4 book ai didi

c++ - 双模板对象

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:00 25 4
gpt4 key购买 nike

我正在尝试创建一个模板化堆栈队列。但是我不知道如何添加数据或从队列中检索数据。

我是这样启动的:

Queue<Stack<Function>> processQueue;

“函数”是我创建的类。

例如,我正在尝试弄清楚如何将函数之类的东西添加到队列中第一个堆栈的顶部。

我在 Queue 类中有一个入队函数,在 Stack 类中有一个推送函数。

我试过用不同的方式来做,但我无法找出正确的语法,即使这是合法的事情。这是一个例子:

Function newFunc(funcName, funcExecept);
processQueue.enqueue(Stack<Function>(push(newFunc)));

或者如果我想检索数据:

processQueue.peekFront().returnTop().getName();

最佳答案

您的语法无效,因为 push 必须在实例化对象上。先创建栈,再压入Function,再加入队列。

Function newFunc(funcName, funcExecept);
Stack<Function> stack;
stack.push( newFunc );
processQueue.enqueue(stack);

或者,先放队列的栈,再push给它

processQueue.enqueue(Stack<Function>());
processQueue.peekFront().push( Function( funcName, funcExecept ) );

在第二个选项中,使用 peekFront 假设队列中只有一个 Stack,也就是刚刚添加的那个。

关于c++ - 双模板对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58318663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com