很多时候,我做这样的事情:
template <int> struct CTypeMap { typedef int Type; };
template <> struct CTypeMap<1> { typedef bool Type; };
template <> struct CTypeMap<2> { typedef char Type; };
CTypeMap<0>::Type q;
当我将鼠标悬停在q上时,如果intellisense向我显示Type为“int”,“bool”或“char”,那就太好了。相反,我得到“CTypeMap&lt; 0&gt; :: Type”
有没有办法欺骗智力感知做这样的事情?
答案 0 :(得分:1)
据我所知,没有办法让IntelliSense在Visual Studio 2013中显示它。
但是,在Visual Studio 2015中,IntelliSense将报告q
类型为int
而不是CTypeMap<0>::Type
,这是您想要的。这是针对Visual Studio 2015的IntelliSense帮助工具提示进行的许多小调整之一。(我最喜欢的调整涉及typedef的折叠,例如std::vector<std::string>
。)