我有一个问题,当我可以有一个参数有三个模板参数的功能。 当我想编译我的代码时,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的模板参数中。
任何人都知道我做错了什么?
答案 0 :(得分:1)
该函数按值Object
获取。你试图传递指针。
传递一个值:
FunctionXY(H,d);
或更改(或重载)函数以获取指针
double FunctionXY(
const Object<float, vectorType, T> * obj, //In
const double d) // ^