1

我正在将游戏从 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 );
4

1 回答 1

1

您可以尝试在您的 xcode 项目中设置 "Enable Runtime Type" = YES Build setting > Apple LLVM 5.0 - Language - C++。

希望这有帮助。

于 2014-02-06T08:13:20.917 回答