2012-09-02 86 views
1

我正在將視覺工作室中的遊戲移植到xcode上,遊戲完全是用C++編寫的,而且我在動態投射時遇到了一些麻煩,在Visual Studio中運行時我從來沒有這樣做。我想知道如果這是一個編譯器問題或某些東西只是不支持在Mac環境中,任何幫助將不勝感激。下面是我在Xcode中運行的代碼做的dynamic_cast時會崩潰的一個精簡版dynamic_cast問題xcode

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); 
+0

什麼樣的崩潰?請發佈崩潰日誌... – Macmade

+0

你會得到什麼錯誤?編譯還是運行時? –

+1

@pmd在這個問題中沒有提到Objective-C。即使這是iOS,也可能是純粹的C++。 Objective-C是C的**超集**,不是子集。 – Macmade

回答

1

你可以嘗試設置「啓用運行時類型」 = YES 構建設置>蘋果LLVM 5.0 - 語言 - C++ 在你的xcode項目中。

希望得到這個幫助。