Я новичок в шаблонах и у меня проблемы с их использованием. Я отправляю код, для которого я не могу кодировать. Нужна помощь в том, как сделать это произведение
Мне нужно что-то вроде указателя на функцию, передаваемого в качестве аргумента шаблона классу тестера, и экземпляра TClass, передаваемого в качестве параметра конструктору. В конструкторе указатель на функцию будет использоваться для привязки testFunc к переменной-члену класса тестера, которая является указателем на функцию. Затем, пока класс тестера будет уничтожен, будет вызываться testFunc. Невозможно разрешить вычет типа для шаблона
#include <iostream>
using namespace std;
template< class TClass, TClass::*fptr>
class tester
{
public:
tester(TClass & testObj, ...) //... refer to the arguments of the test function which is binded
{
//bind the function to member fptr variable
}
~tester()
{
//call the function which was binded here
}
private:
(TClass::*fp)(...) fp_t;
};
class Specimen
{
public:
int testFunc(int a, float b)
{
//do something
return 0;
}
}
int main()
{
typedef int (Specimen::*fptr)(int,float);
Specimen sObj;
{
tester<fptr> myTestObj(sObj, 10 , 1.1);
}
return 0
}
TClass::*fptr
в качестве аргумента шаблона, так как подпись отсутствует. - person Walter   schedule 12.11.2013std
в ответе. - person Walter   schedule 12.11.2013