zoukankan      html  css  js  c++  java
  • error C2783: 无法为“T”推导 模板 参数

    原则:“模板参数推导机制无法推导函数的返回值类型”

    版本一:

    // 缺少<T>     参数 int n    对比第三个版本( 缺少<T>   参数 T n) !

    编译错误提示:

    错误 1 error C2783: “T FibRecursion(int)”: 无法为“T”推导 模板 参数 c:usersyidocumentsvisual studio 2005projects斐波纳契数列斐波纳契数列斐波纳契数列.cpp 16

     1 #include "stdafx.h"
     2 #include <iostream>
     3 
     4 template<class T>
     5 T FibRecursion(int n)                             // 参数 int n
     6 {
     7     if (n<0)
     8         return -1;
     9 
    10     if (n == 0 || n == 1)
    11         return 1;
    12 
    13     return FibRecursion(n-1) + FibRecursion(n-2); // 缺少<T>
    14 }
    15 int _tmain(int argc, _TCHAR* argv[])
    16 {
    17     int result = FibRecursion<int>(30);           //错误行
    18     system("pause");
    19     return 0;
    20 }

    版本二:  

    // 加上<T>   参数 int n 或者 T n

    编译通过!

     1 #include "stdafx.h"
     2 #include <iostream>
     3 
     4 template<class T>
     5 T FibRecursion(int n)                                   // 参数 int n
     6 {
     7     if (n<0)
     8         return -1;
     9 
    10     if (n == 0 || n == 1)
    11         return 1;
    12 
    13     return FibRecursion<T>(n-1) + FibRecursion<T>(n-2); // 加上<T>
    14 }
    15 int _tmain(int argc, _TCHAR* argv[])
    16 {
    17     int result = FibRecursion<int>(30);                 //没有报错
    18     system("pause");
    19     return 0;
    20 }
     1 #include "stdafx.h"
     2 #include <iostream>
     3 
     4 template<class T>
     5 T FibRecursion(T n)                                     // 参数 T n
     6 {
     7     if (n<0)
     8         return -1;
     9 
    10     if (n == 0 || n == 1)
    11         return 1;
    12 
    13     return FibRecursion<T>(n-1) + FibRecursion<T>(n-2); // 加上<T>
    14 }
    15 int _tmain(int argc, _TCHAR* argv[])
    16 {
    17     int result = FibRecursion<int>(30);                 //没有报错
    18     system("pause");
    19     return 0;
    20 }

    版本三:

    // 缺少<T>   参数 T n

    编译通过!

     1 #include "stdafx.h"
     2 #include <iostream>
     3 
     4 template<class T>
     5 T FibRecursion(T n)                                     // 参数 T n
     6 {
     7     if (n<0)
     8         return -1;
     9 
    10     if (n == 0 || n == 1)
    11         return 1;
    12 
    13     return FibRecursion(n-1) + FibRecursion(n-2);      // 缺少<T>
    14 }
    15 int _tmain(int argc, _TCHAR* argv[])
    16 {
    17     int result = FibRecursion<int>(30);                 //没有报错
    18     system("pause");
    19     return 0;
    20 }

    http://bbs.sjtu.edu.cn/bbstcon,board,C,reid,1293357257.html 没看懂,囧!

  • 相关阅读:
    springcloud(3)consul
    springcloud(2)服务提供者配置及集群和信息显示改善
    springcloud(1)Eureka配置及集群
    Git操作和配合GitHub进行代码托管
    GitHub的基本使用
    关于mybatis的各种绑定(bind)错误,找不到类的情况
    springboot整合thymeleaf视图解析器
    spring boot 源码分析-------ApplicationContext
    https原理
    单例模式
  • 原文地址:https://www.cnblogs.com/kira2will/p/3983084.html
Copyright © 2011-2022 走看看