В качестве одного из параметров шаблона класса мне нужно использовать указатель на член:
template <class Base, typename Member, Member Base::*m>
class MemPtrTestUgly
{
...
};
Это нужно использовать как
struct S
{
int t;
}
MembPtrTestUgly <S, int, &S::t> m;
Но я хочу использовать его так:
MemPtrTestNice<S, &S::t> m;
Тип члена выводится из указателя члена. Я не могу использовать шаблон функции, так как класс MemPtrTest
не должен быть создан (будут использоваться только некоторые статические функции). Есть ли способ сделать это на чистом С++ 03 (без Boost или TR1)?