gpt4 book ai didi

c++ - 是否可以在模板化函数签名中使用 typedef?

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

有没有办法使用 typedef 作为模板函数的参数?或者将类型定义为参数的方法?

假设我想传递一个函数指针给这个函数:

template<typename C, typename ...Args>
void test(typedef void (C::*functor)(Args... args) functor f)
{
f(args...);
}

最佳答案

不,您不能在参数中创建 typedef。如果您的目标是避免在函数体中重复参数的类型,您可以使用 decltype:

template<typename C, typename ...Args>
void test(void (C::*f)(Args...))
{
typedef decltype(f) functor;
}

关于c++ - 是否可以在模板化函数签名中使用 typedef?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126518/

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