error C2208
От: serzhant  
Дата: 30.07.03 04:56
Оценка:
Приветствую, сталкнулся с проблемой в шаблоне:
template <class TNAME, class TINDEX>
class RECORD
{
public:
...
(1) const TNAME name() {return Name;} const;

protected:
TNAME Name;
TINDEX Index;
};
компилятор на строку (1) выдает сабж: error C2208: 'const int' : no members defined using this type
TNAME, TINDEX это встроенные типы, как это обойти?
Или есть более изящное решение?
Re: error C2208
От: Андрей Тарасевич Беларусь  
Дата: 30.07.03 06:01
Оценка:
Здравствуйте, serzhant, Вы писали:

S>Приветствую, сталкнулся с проблемой в шаблоне:

S>template <class TNAME, class TINDEX>
S>class RECORD
S>{
S>public:
S>...
S>(1) const TNAME name() {return Name;} const;

S>protected:

S> TNAME Name;
S> TINDEX Index;
S>};
S>компилятор на строку (1) выдает сабж: error C2208: 'const int' : no members defined using this type
S>TNAME, TINDEX это встроенные типы, как это обойти?

Ну так а куда это ты последний 'const' поместил? Что он там, по-твоему, обозначает?

Правильно

template <class TNAME, class TINDEX>
class RECORD
{
public:
...
const TNAME name() const {return Name;}

protected:
TNAME Name;
TINDEX Index;
};
Best regards,
Андрей Тарасевич
Re: error C2208
От: Plague Россия  
Дата: 30.07.03 07:05
Оценка:
Здравствуйте, serzhant, Вы писали:

S>Приветствую, сталкнулся с проблемой в шаблоне:

S>template <class TNAME, class TINDEX>

S>компилятор на строку (1) выдает сабж: error C2208: 'const int' : no members defined using this type

S>TNAME, TINDEX это встроенные типы, как это обойти?
S>Или есть более изящное решение?


class RECORD
{
public:
...
(1)    const TNAME name() {return Name;} const;
//                              это что такое !?? ^^^^^^ 
protected:
    TNAME Name;
    TINDEX Index;
};


это он понимает как:
class RECORD
{
public:
...
const TNAME name() {return Name;} // точку с запятой тут не надо
 const int; // а имени переменной нету...
protected:
    TNAME Name;
    TINDEX Index;
};
... << RSDN@Home 1.1 beta 1 >>
Re: error C2208
От: Plague Россия  
Дата: 30.07.03 07:41
Оценка:
Здравствуйте, serzhant, Вы писали:

S>Приветствую, сталкнулся с проблемой в шаблоне:

S>template <class TNAME, class TINDEX>

S>компилятор на строку (1) выдает сабж: error C2208: 'const int' : no members defined using this type

S>TNAME, TINDEX это встроенные типы, как это обойти?
S>Или есть более изящное решение?


class RECORD
{
public:
...
(1)    const TNAME name() {return Name;} const;
//                              это что такое !?? ^^^^^^ 
protected:
    TNAME Name;
    TINDEX Index;
};


это он понимает как:
class RECORD
{
public:
...
const TNAME name() {return Name;} // точку с запятой тут не надо
 const int; // а имени переменной нету...
protected:
    TNAME Name;
    TINDEX Index;
};
... << RSDN@Home 1.1 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.