gpt4 book ai didi

c++ - 在 lambda 中访问自动参数的类型

转载 作者:行者123 更新时间:2023-12-01 14:20:20 25 4
gpt4 key购买 nike

我正在为样板代码使用 lambda 函数:

auto import = [&](auto & value){
// Do some stuff
};

value实际上是一个s td::vector ,我需要访问它的 value_type静态成员在其元素之一上调用模板函数。

我尝试使用 decltype没有成功 :
auto import = [&](auto & value){
decltype(value)::value_type v;
};

有什么办法吗?

最佳答案

value的类型是左值引用,您无法从中获取成员类型,必须删除引用部分,例如

typename std::decay_t<decltype(value)>::value_type v;

PS:您还需要添加 typename预先(如 @Vlad answered )用于依赖类型名称。见 Where and why do I have to put the “template” and “typename” keywords? .

LIVE

关于c++ - 在 lambda 中访问自动参数的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61384559/

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