模板化,如果失败并出现编译器错误错误:模板参数数量错误(2,应为3)

乌多·克莱因(Udo Klein)

如果我用gcc编译以下代码

namespace TMP {
    // template to choose type depending on boolean condition
    template <bool condition, typename x, typename y> struct if_t                               { typedef y type; };
    template <                typename x, typename y> struct if_t<true, typename x, typename y> { typedef x type; };

}

TMP::if_t<false, uint8_t, uint16_t>::type test;

我收到一条错误消息

error: wrong number of template arguments (2, should be 3)

如果删除第二个模板,它将成功编译。但是我认为我的代码与Wikibook示例中的代码几乎相同我怎么了

玉峰

实际上,只需删除多余的typename。用gcc 4.9.2编译。

namespace TMP {
    // template to choose type depending on boolean condition
    template <bool condition, typename x, typename y>
    struct if_t
    {
        typedef y type;
    };
    template <typename x, typename y>
    struct if_t < true, x, y >
    {
        typedef x type;
    };

}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编译器错误,还是非标准代码?-Lambda中的可变参数模板捕获

来自分类Dev

模板成员函数的编译器错误

来自分类Dev

编译的AngularDart失败,并出现dynamic_injector错误

来自分类Dev

std线程调用模板类的模板成员函数:编译器错误

来自分类Dev

内部编译器错误:gcc中的分段错误。发送可变参数模板到结构时

来自分类Dev

内部编译器错误-开关表达式中的模板化转换运算符

来自分类Dev

控制器中错误的参数数量(1对2)

来自分类Dev

编译器错误“本地调用的类型参数数量不正确”

来自分类Dev

模板参数数量错误

来自分类Dev

模板参数数量错误

来自分类Dev

模板元编程,带有可变参数模板:编译器错误

来自分类Dev

模板参数数量错误(3,应为4)

来自分类Dev

Finder方法中出现“参数数量错误”错误

来自分类Dev

具有功能类型参数的模板导致编译器错误

来自分类Dev

局部模板指定的编译器错误(C ++)

来自分类Dev

更改类型参数名称时,模板替换失败-编译器错误?

来自分类Dev

“编译失败;详见编译器错误输出。” 错误

来自分类Dev

C ++自定义分配器大小参数作为模板参数会引发编译器错误

来自分类Dev

如果模板解析失败,C ++将强制编译器错误

来自分类Dev

错误的参数数量(1表示2)

来自分类Dev

模板类的std线程调用模板成员函数:编译器错误

来自分类Dev

确保模板功能的编译器错误

来自分类Dev

内部编译器错误:gcc中的分段错误。发送可变参数模板到结构时

来自分类Dev

静态const成员变量,可变参数模板和&&的编译器错误或正确行为

来自分类Dev

模板参数数量错误

来自分类Dev

具有可变参数模板的模板元编程:编译器错误

来自分类Dev

模板结构成员的模板参数数量错误(1应该为3)

来自分类Dev

Google Test多模板-编译器错误

来自分类Dev

使用枚举参数重载模板时出现 MSVC 编译器错误

Related 相关文章

  1. 1

    编译器错误,还是非标准代码?-Lambda中的可变参数模板捕获

  2. 2

    模板成员函数的编译器错误

  3. 3

    编译的AngularDart失败,并出现dynamic_injector错误

  4. 4

    std线程调用模板类的模板成员函数:编译器错误

  5. 5

    内部编译器错误:gcc中的分段错误。发送可变参数模板到结构时

  6. 6

    内部编译器错误-开关表达式中的模板化转换运算符

  7. 7

    控制器中错误的参数数量(1对2)

  8. 8

    编译器错误“本地调用的类型参数数量不正确”

  9. 9

    模板参数数量错误

  10. 10

    模板参数数量错误

  11. 11

    模板元编程,带有可变参数模板:编译器错误

  12. 12

    模板参数数量错误(3,应为4)

  13. 13

    Finder方法中出现“参数数量错误”错误

  14. 14

    具有功能类型参数的模板导致编译器错误

  15. 15

    局部模板指定的编译器错误(C ++)

  16. 16

    更改类型参数名称时,模板替换失败-编译器错误?

  17. 17

    “编译失败;详见编译器错误输出。” 错误

  18. 18

    C ++自定义分配器大小参数作为模板参数会引发编译器错误

  19. 19

    如果模板解析失败,C ++将强制编译器错误

  20. 20

    错误的参数数量(1表示2)

  21. 21

    模板类的std线程调用模板成员函数:编译器错误

  22. 22

    确保模板功能的编译器错误

  23. 23

    内部编译器错误:gcc中的分段错误。发送可变参数模板到结构时

  24. 24

    静态const成员变量,可变参数模板和&&的编译器错误或正确行为

  25. 25

    模板参数数量错误

  26. 26

    具有可变参数模板的模板元编程:编译器错误

  27. 27

    模板结构成员的模板参数数量错误(1应该为3)

  28. 28

    Google Test多模板-编译器错误

  29. 29

    使用枚举参数重载模板时出现 MSVC 编译器错误

热门标签

归档