Re: MSVC2015 constexpr и вся эта шаблонная магия
От: VTT http://vtt.to
Дата: 03.11.16 08:22
Оценка: 3 (1)
Если перенести реализацию get() после определения value, то вроде работает:

/* metaclass fro conversation  */
template<size_t x>
class __builder {
private:
    /* generate string type */
    typedef typename num_builder< num_digits(x), x, '\0' >::type type;
    /* string declaration */
    static constexpr type value{};
public:
    /*  */
    static constexpr const char* get();
};
/* instantiate string */
template< size_t x >
constexpr typename __builder< x >::type __builder< x >::value;

template< size_t x >
constexpr const char * __builder< x >::get()
{
    return(value.data);
}

/* compile-time const for converted string */
static constexpr const char* tag = __builder< TAG >::get();
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.