c ++:带模板的函数指针

伊夫
void func1(int){}
void func2(char){}

template <typename T> void (*p)(T);   // error
p = func1;
p = func2;

为什么我们不能定义像这样的指针p

伊夫

感谢@SergeyA和@Brian的帮助,我解决了问题,并在这里编辑了答案。

template<typename T> void (*p)(T):在这种情况下,p是一个变量模板(c ++ 14)。所以我们可以这样使用p

p<int> = func1;
p<char> = func2;

template<class T> using p = void (*)(T):在这种情况下p是一种类型(就像,typedef但是我们不能使用typedef别名模板)。意味着我们应该像这样使用它:

p<int> x1 = func1;
p<char> x2 = func2;

顺便说一句,它们两个都是template declaration,所以我们不能将它们放在任何块范围内。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模板中的C ++函数指针

来自分类Dev

模板类的模板函数指针-C ++

来自分类Dev

带指针的C ++复制构造函数

来自分类Dev

带指针的C++冒泡排序函数

来自分类Dev

函数指针类型的c ++模板调用

来自分类Dev

具有指针参数的C ++模板函数

来自分类Dev

具有指针参数的C ++模板函数

来自分类Dev

C ++,模板或指向成员函数的指针

来自分类Dev

带指针的C输出

来自分类Dev

C - 带指针的递归

来自分类Dev

所有模板实例的C ++单函数指针

来自分类Dev

用可变参数模板在C ++中包装函数指针

来自分类Dev

成员函数指针的decltype作为c ++ 11中的模板参数

来自分类Dev

C ++:函数指针作为模板参数而不是函子

来自分类Dev

C ++中的构造函数副本,列表,指针和模板

来自分类Dev

C ++:函数指针作为模板参数而不是函子

来自分类Dev

所有模板实例的C ++单函数指针

来自分类Dev

成员函数指针的decltype作为c ++ 11中的模板参数

来自分类Dev

c ++ 基于模板字符串文字返回的函数指针

来自分类Dev

C++:函数模板指针的 std::vector

来自分类Dev

使用函数类型与函数指针作为C ++模板函数参数的区别?

来自分类Dev

带括号的三元表达式在C中的函数指针声明中返回函数名称的原理

来自分类Dev

C ++模板使用问题指针

来自分类Dev

错误C2823:一个typedef模板是非法的-函数指针

来自分类Dev

C ++-错误地插入将带有const参数的函数指针传递给模板类

来自分类Dev

具有签名和类型指向成员函数指针的C ++模板

来自分类Dev

C ++使用指向与模板参数相同的函数的指针是否总是导致相同的实例化?

来自分类Dev

专门研究使用通用迭代器作为指针值类型的C ++模板函数吗?

来自分类Dev

为什么可以在C ++中将函数指针作为模板参数传递?

Related 相关文章

  1. 1

    模板中的C ++函数指针

  2. 2

    模板类的模板函数指针-C ++

  3. 3

    带指针的C ++复制构造函数

  4. 4

    带指针的C++冒泡排序函数

  5. 5

    函数指针类型的c ++模板调用

  6. 6

    具有指针参数的C ++模板函数

  7. 7

    具有指针参数的C ++模板函数

  8. 8

    C ++,模板或指向成员函数的指针

  9. 9

    带指针的C输出

  10. 10

    C - 带指针的递归

  11. 11

    所有模板实例的C ++单函数指针

  12. 12

    用可变参数模板在C ++中包装函数指针

  13. 13

    成员函数指针的decltype作为c ++ 11中的模板参数

  14. 14

    C ++:函数指针作为模板参数而不是函子

  15. 15

    C ++中的构造函数副本,列表,指针和模板

  16. 16

    C ++:函数指针作为模板参数而不是函子

  17. 17

    所有模板实例的C ++单函数指针

  18. 18

    成员函数指针的decltype作为c ++ 11中的模板参数

  19. 19

    c ++ 基于模板字符串文字返回的函数指针

  20. 20

    C++:函数模板指针的 std::vector

  21. 21

    使用函数类型与函数指针作为C ++模板函数参数的区别?

  22. 22

    带括号的三元表达式在C中的函数指针声明中返回函数名称的原理

  23. 23

    C ++模板使用问题指针

  24. 24

    错误C2823:一个typedef模板是非法的-函数指针

  25. 25

    C ++-错误地插入将带有const参数的函数指针传递给模板类

  26. 26

    具有签名和类型指向成员函数指针的C ++模板

  27. 27

    C ++使用指向与模板参数相同的函数的指针是否总是导致相同的实例化?

  28. 28

    专门研究使用通用迭代器作为指针值类型的C ++模板函数吗?

  29. 29

    为什么可以在C ++中将函数指针作为模板参数传递?

热门标签

归档