我正在尝试将游戏从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 );
最佳答案
您可以尝试设置“启用运行时类型” = YES
构 build 置> Apple LLVM 5.0-语言-C++
在您的xcode项目中。
希望对您有所帮助。