利用可能なTR1ライブラリがあるかどうかに応じて、unordered_mapまたはstd :: mapをtypedefしようとしています。しかし、私はテンプレートのパラメータを指定したくありません。私がこれまでに読んだことから、公式のC++ 0x標準が利用可能になるまで、引数なしでテンプレートをtypedef'ingすることはできません。だから誰もこれのためのエレガントな回避策を知っていますか?テンプレートパラメータを指定せずにテンプレートクラスを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と提供された回答。テンプレートのtypedefは有効なC++コマンドではありません –
Benoit - ありがとう、まさに私が探していたものです –
非常によく似た質問:http://stackoverflow.com/questions/6907194/how-to-typedef-a-template-class答えはここには記載されていません: "エイリアステンプレート" in C++ 11 – Jayesh