मैं या तो एक unordered_map या std :: मानचित्र टाइप करने की कोशिश कर रहा हूं, यह निर्भर करता है कि TR1 लाइब्रेरी उपलब्ध हैं या नहीं। लेकिन मैं टेम्पलेट पैरामीटर निर्दिष्ट नहीं करना चाहता हूं। जो मैंने अभी तक पढ़ा है, उससे तर्क के बिना टाइप किए गए टेम्पलेट्स तब तक संभव नहीं हैं जब तक कि आधिकारिक सी ++ 0x मानक उपलब्ध न हो। तो क्या इस के लिए किसी को एक सुरुचिपूर्ण कामकाज पता है?टेम्पलेट पैरामीटर निर्दिष्ट किए बिना टेम्पलेट क्लास
#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 और प्रदत्त उत्तरों। टेम्पलेट टाइपपीफ मान्य नहीं हैं C++ कमांड –
बेनोइट - धन्यवाद, यह वही है जो मैं –
के लिए देख रहा था बहुत ही सवाल: http://stackoverflow.com/questions/6907194/how-to-typedef-a-template-class यह एक और है उत्तर जिसका उल्लेख यहां नहीं किया गया है: C++ 11 – Jayesh