C++ - Что будет выведено в результате выполнения? | ProgHub
Что будет выведено в результате выполнения:
#include <iostream> 
using namespace std; 
 
struct A 
{ 
   void func(float val) 
   { 
       cout << "A::func "; 
   } 
}; 
 
struct B: A 
{ 
   void func(int val) 
   { 
       cout << "B::func "; 
   } 
}; 
 
int main() 
{ 
   B b; 
   b.func(10); 
   b.func(10.5); 
 
   static_cast<A*>(&b)->func(10); 
   static_cast<A*>(&b)->func(10.5); 
 
   cout << endl; 
} 
Ошибка при компиляции
B::func B::func A::func A::func
B::func A::func A::func A::func
B::func A::func B::func A::func
B::func B::func B::func A::func