win7,vs2013 update 5 编译错误,求教

//win7, vs2013 update 5

struct aa
{
void foo(int) {}
};

struct bb : public aa
{
void foo(const char*) {}
void test()
{
foo(1); //C2664 cannot convert argument 1 from 'int' to 'const char *'
}
};

0

3个回答

在 C++ 中若基类中有一个函数名被重载,在子类中重定义该函数,则基类的所有 版本将被隐藏——即子类只能用子类定义的,基类的不再可用。——名字隐藏特性。

1
 aa::foo(1);
1

在 C++ 中若基类中有一个函数名被重载,在子类中重定义该函数,则基类的所有 版本将被隐藏——即子类只能用子类定义的,基类的不再可用。——名字隐藏特性。

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!