我正在将游戏从 Visual Studio 移植到 xcode,该游戏完全是用 C++ 编写的,我遇到了一些在 Visual Studio 中运行时从未遇到过的动态转换问题。我想知道这是编译器问题还是mac环境不支持某些东西,任何帮助将不胜感激。这是我在 xcode 中运行的代码的精简版本,在执行 dynamic_cast 时会崩溃
class base {
public:
int dm;
virtual void vm(){}
base(){}
};
class specific : public base {
public:
virtual void vm(){dm++;}
specific (){}
};
specific* sp = new specific();
base* b = (base*) sp;
specific * s = dynamic_cast< specific * >( b );