указатель на мембер
От: night beast СССР  
Дата: 10.08.06 07:25
Оценка:
Недавно столкнулся с такой непонятной штукой.

Указатель на мембер-функцию не является указателем.

#include <iostream>

#define print(msg) std::cout << msg << std::endl;

template<typename T>
struct is_pointer {
    static const int value=0;
};

template<typename T>
struct is_pointer<T*> {
    static const int value=1;
};

int main (int argv, char * args[] ) {

    std::cout << is_pointer<int (test::*)(void) >::value << std::endl;
    return 0;
}


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