从派生类中调用操作符=
|
这来自有效的C ++第二版Scott Meyers的第16项(第70页)
作者写道,当以下列方式调用基类operator =时,无需过多解释
Base::operator=(rhs);
如果ѭ1是由编译器生成的,则某些编译器(尽管错误地)拒绝此操作(请参见第45条),因此更好地使用
static_cast<base&>(*this) = rhs;
在第45项中,他提到如果基类operator =
是私有的,派生类=
无权调用它。
但在最初的问题中,编译器拒绝了它,因为它是由编译器生成的(必须是公共的)
关于此的任何帮助(链接)都将有所帮助。 (用谷歌搜索这类问题非常困难)
没有找到相关结果
已邀请:
1 个回复
功飘