Re[5]: Вопрос по стандарту по поводу Name lookup
От: Lorenzo_LAMAS  
Дата: 19.05.03 07:26
Оценка:
DSV>Я считал, что мой пример эквивалентет следующему:
DSV>struct X
DSV>{
DSV>  template<typename T, typename TT>
DSV>  void RR(T t)
DSV>  {
DSV>    static_cast<TT*>(this)->R(t);
DSV>  }
DSV>};

DSV>struct d : X
DSV>{
DSV>  void R(int) {}
DSV>  void R(float);
DSV>  void foo()
DSV>  {
DSV>    RR<int,d>(2);
DSV>    RR<float,d>(2.0f);
DSV>   }
DSV>};

DSV>int main()
DSV>{
DSV>  d().foo();
DSV>}


Ты постоянно меняешь условия. R у тебя в одном из классов — typedef'ом был. Но это не важно. То, что ты в вопросе (исправленном) не эквивалентно тому что написано выше. До сигнатуры тут дело не доходит. Смотри clause 10 стандарта (там, по-моему)
Of course, the code must be complete enough to compile and link.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.