我正在使用一個平臺/版本之間只有一個區別的庫。一個版本調用類btCollisionObject,其他版本稱之爲btCollisionObjectWrapper。如果我可以讓這個班有兩個名字仍然參考這個班,那麼我所有的問題都將被解決。我試過:#define btCollisionObject btCollisionObjectWrapper;
,但它不工作。在課程定義完成後給出兩個名字的正確方法是什麼?如何讓一個班級有兩個名字?
回答
也許
typedef btCollisionObjectWrapper btCollisionObject;
更好地使用語言工具,而不是預處理器做。
錯誤C2371:'btCollisionObjectWrapper':重新定義;不同的基本類型 – SteveDeFacto
@SteveDeFacto爲什麼你同時使用這兩個版本的庫? –
@SteveDeFacto:我想你的意思是以另一種方式去做? –
如果我正確理解你的問題,你必須找到確定要編譯支持該平臺的一種方式,因爲我不知道你是用我不能給任何這建議該平臺但它可能是可以通過宏來做到這一點。
解決您的問題可能會看起來有點像這樣。
在C++ 98使用類型聲明
#ifdef __PLATFORM_SPECIFIC_DEFINE
typedef btCollisionObjectWrapper btCollisionObject;
#endif
在C++ 11使用別名聲明,這具有額外的優點,即它們可以與模板然而在情況下,使用你可以用一個簡單的typedef離開。
#ifdef __PLATFORM_SPECIFIC_DEFINE
using btCollisionObject = btCollisionObjectWrapper;
#endif
這將允許您使用btCollisionObject
作爲類名稱爲使用btCollisionObjectWrapper
你當然會與由使用btCollisionObjectWrapper
平臺中定義的宏來代替__PLATFORM_SPECIFIC_DEFINE
平臺。
- 1. 如何將一個班級分爲兩個班級
- 2. 如何讓一個班級成爲另一個班級的代表?
- 3. 如何讓一個班有條件地返回其他兩個班之一?
- 4. 如何將一個班級應用到另一個班級?
- 5. 一個班級如何從另一個班級請求信息?
- 6. 你如何讓一個塊成爲一個班級的成員?
- 7. 如何從一個班級獲取字符串到另一個班級
- 8. Jquery - 如何找到一個#tag一個名字並申請一個班級
- 9. 讓一個班級的所有實例共享一個值 - Audioclips
- 10. 如何記錄兩個班級使用的總體班級
- 11. 如何在另一個班級內使用CSS樣式一個班級但不影響主班級班級
- 12. 讓班級發送數據到一個調用另一個班級的引擎
- 13. Java初學者:讓一個班級知道另一個班級已經完成
- 14. 如何整合兩個班級
- 15. 一個班級需要另一個班級,其他班級需要第一個班級。我怎麼做?
- 16. 建議一個有過期時間的班級的名字
- 17. Flash Builder:一個班級內的班級
- 18. 從另一個班級訪問班級?
- 19. 向另一個班級顯示班級
- 20. 無法改變多個班級名字
- 21. 有一個班級只有一個班級使用的設計很差嗎?
- 22. 這個班是一個班級嗎?
- 23. 一個班級有多個模型?
- 24. 如何從另一個班級訪問班級?
- 25. 如何從另一個班級訪問班級?
- 26. 如何從一個班級移動到其他班級android
- 27. 你如何從另一個班級調用一個班級的方法?
- 28. 如何將意圖從一個班級保存到另一個班級
- 29. 如何計算一個班級並在另一個班級上輸出答案
- 30. 如何在一個班級顯示圖片,我保存在另一個班級
莫非是因爲你有你的#define一個分號,其中(最有可能)不應該在那裏? –