我試圖typedef unordered_map或std :: map,取決於是否有TR1庫可用。但我不想指定模板參數。從我目前閱讀的內容來看,沒有參數的typedef'ing模板是不可能的,除非官方的C++ 0x標準可用。那麼有沒有人知道這個優雅的解決方法?Typedef模板類,但沒有指定模板參數
#ifdef _TR1
#include <unordered_map>
typedef std::tr1::unordered_map MyMap; //error C2976: too few template arguments
#else
#include <map>
typedef std::map MyMap; //error C2976: too few template arguments
#endif
看到這個非常接近的問題:http://stackoverflow.com/questions/544842/c-typedef-ing-stl和提供的答案。模板typedefs是無效的C++命令 – 2009-09-24 22:21:12
Benoit - 謝謝,多數民衆贊成正是我正在尋找 – 2009-09-24 22:31:09
非常類似的問題:http://stackoverflow.com/questions/6907194/how-to-typedef-a-template-class它有另一個答案,這裏沒有提到:「別名模板」在c + + 11 – Jayesh 2014-07-31 02:18:12