Re[3]: Непонятки с using Base::func в производном классе...
От: Lorenzo_LAMAS  
Дата: 18.12.07 15:09
Оценка:
D>а вот есть 10.3.2 (текст приводить не буду, только код), который говорит что зря они это делают

уффф, этот-то пункт как относится к исходному примеру?

D>
D>struct a{
D>    virtual void f();
D>};

D>struct b : virtual public a{
D>    virtual void f();
D>};

D>struct c : b, virtual a{
D>    using a::f;
D>};

D>int main()
D>{
D>    using namespace std;
D>    с d;
D>    d.f(); //b по стандарту
D>    vector<с> v;
D>    for_each(v.begin(), v.end(), mem_fun_ref(&с::f));//угадайте какая? 
D>}
D>


а::f. а ты как думаешь?

D>ладно. спорить можем до бесконечности всё равно ни к чему не приведёт. как выясняется у разработчиков компилеров тоже нет единого мнения.


Даже у VS нет единого мнения, как он должен себя вести. Например, если в исходном примере заменить все статическими функциями-членами, то &Derived::test ему не нравится, тогда как Derived::test() уже нормально.

Да, к тому же мы по-разному читаем стандарт.
Of course, the code must be complete enough to compile and link.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.