gpt4 book ai didi

c++ - 使用 auto 作为模板参数

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:16 24 4
gpt4 key购买 nike

我正在尝试使用设置了 -std=c++11 标志的 GCC 4.7.1 编译以下内容:

std::map<std::string, auto> myMap;

我试图创建一个对象来包含大量各种类型的 Json 数据(int string、bool)以及子结构(list、map),所以我无法声明字段的类型编译时的值,所以我想我会为它使用 auto 关键字。

但是,当我尝试编译它时,我得到以下信息

error: invalid use of ‘auto’
error: template argument 2 is invalid
error: template argument 4 is invalid
error: unable to deduce ‘auto’ from ‘<expression error>’

有没有一种特殊的方法可以将 auto 用作模板参数,还是根本不可能?

最佳答案

我想你要找的是boost::any .

std::map<std::string, boost::any> myMap;

auto 在编译时进行评估,不能用作动态运行时类型。

关于c++ - 使用 auto 作为模板参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176972/

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