gpt4 book ai didi

c++ - 如何在模板函数中检索 mapbox::util::variant 值

转载 作者:行者123 更新时间:2023-11-28 05:19:34 25 4
gpt4 key购买 nike

使用 mapbox::variant ( https://github.com/mapbox/variant/blob/master/include/mapbox/variant.hpp ),我可以执行以下操作:

using variant = mapbox::util::variant<Args...>;
variant<std::string> v;
// do something with v
...
// Get string from v:
std::string s = v.get<std::string>();

但是当我尝试通过模板函数实现它时,出现了编译错误:

template <typename T>
T getValue()
{
variant<T> value{};
// Get value
...
return value.get<T>();
}

GCC 提示:

../utils.hpp:52:23: error: expected primary-expression before '>' token return value.get(); ^ ../utils.hpp:52:25: error: expected primary-expression before ')' token return value.get();

模板函数有什么问题?

最佳答案

我想你想要:

return value.template get<T>();

this答案给出了一个很好的/全面的描述,说明为什么......

关于c++ - 如何在模板函数中检索 mapbox::util::variant 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41807464/

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