调用模板函数C ++时出错

时间:2015-04-17 12:09:47

标签: c++ templates

我有一个问题,当我可以有一个参数有三个模板参数的功能。 当我想编译我的代码时,g ++说,该函数是声明的。

功能:

double FunctionXY(
    const Object<float, vectorType, T> obj, //In
    const double d)
{
....
return d;
}

我称之为:

FunctionXY(&H, d);

H的构造函数:

Object<float, vectorType, T> Obj("Object");

我还尝试给整个函数一个模板,然后将这些模板变量放在obj的模板参数中。

任何人都知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

该函数按值Object获取。你试图传递指针。

传递一个值:

FunctionXY(H,d);

或更改(或重载)函数以获取指针

double FunctionXY(
    const Object<float, vectorType, T> * obj, //In
    const double d)  //                ^