От: | 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