请教一个vector的template<typename T>使用问题?

StarDnaFox 2021-02-08 11:06:38
在下定义了一个方法,大致内容如下:
template<typename T>
inline T Indicators::HighestAndLowest(T a, T b)

T tResult;
tResult.push_back(1.2);
tResult.push_back(1.3);

return tResult;


调用部分我是这么写的(大致代码):
std::vector<double> a;
std::vector<double> b;

std::vector<double> x =HighestAndLowest(&a, &b);

现在编译错误,提示不存在从xxx转换到xxx的适当构造函数,请教老师,我这么写有问题吗?
我就是想实现,传入和返回都是一个vector类型,但是vector到底是double还是int是不知道的。
...全文
264 点赞 收藏 3
写回复
3 条回复
maguangzhi 02月13日
说句实话,你的函数模板定义得莫名其妙:有两个参数而没有使用它们?
回复 点赞
flying_music 02月08日
不知道你完整代码啥样的,参考一下,看能解决吗

#include <iostream>
#include <vector>

template<typename T>
inline T HighestAndLowest(T a, T b)
{
    T tResult;
    tResult.push_back(1.2);
    tResult.push_back(1.3);

    return tResult;
}

int main()
{
    std::vector<double> a;
    std::vector<double> b;

    std::vector<double> x = HighestAndLowest(a, b);
    std::cout << x[0] << std::endl;
    return 0;
}
回复 点赞
Simple-Soft 02月08日
这么写应该是没有问题的,把错误截图提供一下
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告