<分区>
Possible Duplicate:
C++: rationale behind hiding rule
假设我有一个代码:
class A
{
public:
void f(int s) {}
};
class B:public A
{
public:
void f() {}
};
int main()
{ B ob;
ob.f(4);
}
然后在这种情况下,编译器会生成一个错误“没有匹配函数来调用‘B::f(int)’” 但是 B 类继承了 A 作为 public,因此 B 必须具有函数“void f(int s)”。不知道为什么编译器会在这里生成错误?