OneWheel 2020-07-25 20:24 采纳率: 100%
浏览 164
已采纳

[C++]用template(或者其他)怎么支持任意函数参数

这个是网上的思路

template <typename T> __something(T src){
    T ret;
        //做一些事...
        return ret;
}

然后我用

int ret=__something(123);

一切正常,但是

int tmp=456;
int *ret=__something(&tmp);

编译器立马报错

cannot convert from 'int *' to 'int'

在return ret;这行

求大佬有什么解决方法或者替代方案

第一次发帖,有什么不妥之处见谅

  • 写回答

2条回答 默认 最新

  • feimimizhiy 2020-07-28 11:02
    关注

    你的这个代码的问题是模板没有定义返回值T,然后模板函数里面返回了ret, 模板的定义里面添加返回值T就OK了。

    图片说明

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 准备学习小程序搭建,谁能手把手的教我啊?
  • ¥15 关于#嵌入式硬件#的问题:树莓派第一天重装配置python和opencv后第二天打开就成这样,瞎捣鼓搞出来文件夹还是没把原来的界面调回来
  • ¥20 Arduino 循迹小车程序电路出错故障求解
  • ¥20 Arduino 循迹小车程序电路出错故障求解
  • ¥100 AT89C52单片机C语言调试之后再回答
  • ¥15 AT89C52单片机C语言串口助手发送数据包返回值
  • ¥15 C++数组中找第二小的数字程序纠错
  • ¥50 MATLAB APP 制作出现问题
  • ¥15 wannier复现图像时berry曲率极值点与高对称点严重偏移
  • ¥15 利用决策森林为什么会出现这样·的问题(关键词-情感分析)