oka*_*ami 9 c++ dynamic-cast const
我想投这个:
class Base
{
public:
virtual ~Base(){};
};
class Der : public Base {};
int main()
{
const Base* base = new Der;
Der* der = dynamic_cast<Der*>(base); // Error
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?我试图把:const Der* der = dynamic_cast<Der*>(base);保留const但这不起作用.
Ecl*_*pse 19
试试这个:
const Der* der = dynamic_cast<const Der*>(base);
Run Code Online (Sandbox Code Playgroud)
dynamic_cast无法删除const限定符.您可以const使用a单独抛弃const_cast,但在大多数情况下通常是个坏主意.对于这个问题,如果你发现自己使用dynamic_cast,它通常是一个迹象,表明有一种更好的方式做你正在尝试做的.这并不总是错的,但把它作为你正在做的事情了艰辛的道路警告标志.
| 归档时间: |
|
| 查看次数: |
16249 次 |
| 最近记录: |