тип выражения &Derived::member
из следующего фрагмента не int Derived:: *
, а int Base:: *
(с g++5):
#include <iostream>
#include <typeinfo>
struct Base { int member ; } ;
struct Derived : Base {} ;
int main ( )
{
std::cerr << typeid( &Derived::member ).name() ;
return 0 ;
}
согласно стандарту, это ожидаемое поведение? не могу найти ничего, что могло бы прояснить этот пример.
есть как минимум two похожие вопросы, но ни один из них не требует ответа.