template static const definition
От: e-garin Россия  
Дата: 09.10.07 11:36
Оценка:
Затрудняюсь сформулировать вопрос достаточно понятно в общей форме на русском языке, поэтому сразу код (небольшой):

template<typename T>
struct C
{
    typedef T MyT;
    
    template <MyT mv>
    struct CI
    {
     static MyT const myvalue = mv; //надо сделать definition (или не надо?!)
    };
};

//НЕУДАЧНАЯ попытка сделать definition:
template <typename T> //ну это шаблонный параметр для C
template <typename C<T>::MyT mv> //это шаблонный параметр для CI
typename C<T>::MyT const //это тип константы
C<T>::CI<mv>::myvalue; //это её полное имя
 
//////////////////////////////////////////////////////////////////////////
int main()
{
    return C<int>::CI<5>::myvalue;
}


вердикт КОМО онлайн:

"ComeauTest.c", line 15: error: declaration is incompatible with constant "T mv"
(declared at line 6)
template <typename C<T>::MyT mv> //это шаблонный параметр для CI


Собственно вопрос: как сделать definition для myvalue?
А мне нравится жить :).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.