Tôi gặp một con trỏ đến các phương pháp tĩnh chungC++, chức năng con trỏ đến con trỏ mẫu chức năng
class MyClass
{
private:
static double (*pfunction) (const Object *, const Object *);
...
};
trỏ đến phương pháp tĩnh
class SomeClass
{
public:
static double getA (const Object *o1, const Object *o2);
...
};
khởi:
double (*MyClass::pfunction) (const Object *o1, const Object *o2) = &SomeClass::getA;
Tôi muốn chuyển con trỏ này thành con trỏ hàm mẫu tĩnh:
template <class T>
static T (*pfunction) (const Object <T> *, const Object <T> *); //Compile error
nơi:
class SomeClass
{
public:
template <class T>
static double getA (const Object <T> *o1, const Object <T> *o2);
...
};
Nhưng có lỗi biên dịch sau:
error: template declaration of : T (* pfunction)(const Object <T> *o1, const Object <T> *o2)
Nhờ sự giúp đỡ của bạn ...