Шаблон C++ определяет функциональный тип возврата

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

    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 было бы большим.

6
задан Anycorn 8 July 2010 в 17:33
поделиться

2 ответа

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

4
ответ дан 17 December 2019 в 00:02
поделиться

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

3
ответ дан 17 December 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: