Шаблон C ++ определяет тип возвращаемого значения функции - PullRequest
6 голосов
/ 08 июля 2010

Как я могу определить тип возврата универсальной функции члена?

    template<class E>
    struct result<E> {
        // E has member function data(), I need to know its return type
        typedef typename &E::data type;
    };

возможно ли сделать это универсальным способом?Я знаю, что есть boost:: result_of, но для моих целей ему не хватает специализаций (если я правильно понял, тип возвращаемого значения должен быть специализированным).Реализация boost была бы отличной.

Ответы [ 2 ]

4 голосов
/ 08 июля 2010
Оператор

GCC нестандартный typeof может сделать это, как может Boost.TypeOf .

3 голосов
/ 08 июля 2010

Если вы используете VS2010 или GCC 4.3, по крайней мере, вы можете использовать новое ключевое слово C ++ 0x decltype.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...