gpt4 book ai didi

c++ - 具有通用/模板化变量的 STL 容器

转载 作者:太空狗 更新时间:2023-10-29 19:37:36 25 4
gpt4 key购买 nike

我只想执行以下操作:

template <typename T>
class gvar {
private:
T var;
public:
gvar(T var) : var(var) {}
};

std::stack<gvar> some_stack;

g++ 吐出各种关于 gvar 不是类型的错误。这可以通过一些相对简单的方式实现吗?我不喜欢使用 boost::any/boost::variant。

编辑:

澄清我想要什么:

一个 std::stack 可以容纳不同类型的变量(只有基元就可以)。

最佳答案

因为 gvar 不是类型,它是类型模板。您需要为其指定一个模板参数:

std::stack< gvar<int> > some_stack;

关于c++ - 具有通用/模板化变量的 STL 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835243/

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