如何解决如何将C ++ 20视图传递给功能
我想制作一个以生成器为参数的函数。
考虑:
void function_which_takes_generator(type_i_dont_know view);
struct Pair {
int a,b;
}
int main() {
std::vector<Pair> pairs = //init to something
function_which_takes_generator(pairs | transform([]{auto pair} {
pair.x
}));
}
type_i_dont_know
类型是什么?有没有更好的方法来实现这种模式?我将如何使用协同例程来做到这一点?
解决方法
您编写的是函数模板,而不是函数
template <typename View>
void function_which_takes_generator(View view)
{
// ...
}
请注意,您需要在呼叫站点上可见的定义,而不仅仅是声明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。