Указатель на метод класса и рекурсия
От: vlat456  
Дата: 10.08.09 02:01
Оценка:
Друзья!

Под утро уже не соображаю.

Есть у меня связанное, ветвистое такое дерево.
Время от времени надо по всем ветвям прогонять функции, которые являются членами класса (в моем случае Node).
Чтобы для каждой функции не городить огород с рекурсией — решил написать один метод для этого дела,
которому скармливается тот метод, что надо прогнать.
Но вот не разберусь, как вызывать метод через указатель в рекурсии. Ниже код:

void Network::applyFunc(Node *n, void(Node::*method)()) // Я горжусь этой штукой!
{
    (n->*method)();
    for (int i=0; i < n->Outputs.size(); i++)
    {
        applyFunc(n->Outputs[i], /*вот тут собака порылась*/ &Node.*method() );
    }
}


1>.\Network.cpp(21) : error C2275: 'Node' : illegal use of this type as an expression


Помогите пожалуйста, если не трудно, а то совсем завяз
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.