LINUX.ORG.RU

C++: Указатель на член класса как параметр шаблона


0

0

Как вы думаете, можно ли делать так:

class A {
    int data;
public:
    A(int t) :data(t) {}
    int getData() { 
      return data; 
    }
};

template<class D, 
         class T, 
         D (T::*Getter)()>
class B {
    T field;
public:
    B(T t) :field(t) {
      D data = (field.*Getter)(); 
    }
};

int main() {
    A a(55);
    B<int, A, &A::getData> b1(a);
    return 0;
}
anonymous

По стандарту ли это?

anonymous
()

Да, а что смутило? Вообще когда есть какие сомнения можно тестить
свой код на Comeau C/C++ Online здесь: 

http://www.nixie.narod.ru/comeau/

много времени экономит.

aton
()

Нужно так сложно ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.