Как передать константную / неконстантную функцию-член в BOOST_TYPEOF?

#include <boost/typeof/typeof.hpp>
struct Test
{
const int& foo();
// const int& foo() const;
};

int main()
{
BOOST_TYPEOF(&Test::foo) ss;
}

Этот код компилируется. После отмены второй функции я получаю ошибку, потому что она не знает, какая функция foo дано. Как можно передать константную или неконстантную функцию-член здесь?

Проблема отсюда:

template<typename Class, typename T>
struct MemberFuctionHasConstRefReturnType
{
static const bool value = false;
};

template<typename Class, typename T>
struct MemberFuctionHasConstRefReturnType<Class, const T&(Class::*)()const>
{
static const bool value = true;
};

Эта мета-функция проверяет, является ли возвращаемый тип функции-члена константной ссылкой. Я не могу передать ему функцию const / non-const.

4

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]