首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

模板类的疑惑,该如何解决

2012-04-17 
模板类的疑惑templatetypename _Interface, const IID* _IID /* &__uuidof(_Interface)*/class _com_II

模板类的疑惑
template<typename _Interface, const IID* _IID /*= &__uuidof(_Interface)*/> 
class _com_IIID {
public:
  typedef _Interface Interface;

  static _Interface* GetInterfacePtr() throw()
  {
  return NULL;
  }

  static _Interface& GetInterface() throw()
  {
  return *GetInterfacePtr();
  }

  static const IID& GetIID() throw()
  {
  return *_IID;
  }
};
当我使用_com_ptr_t<_com_IIID<MSXML2:IXMLDOMDOC2,0x0>>来定义一个模板类对象时,上面那个模板类的_IID的值怎么来的,我没看到哪里有设置,但是使用GetIID()这个函数的时候,仍然能得到IXMLDOMDOC2的IID

[解决办法]
这不是默认参数吗?
[解决办法]
到底注释掉没啊

是模板默认参数
[解决办法]
默认参数 看看注释是否注销成功
[解决办法]

C/C++ code
_com_ptr_t<_com_IIID<MSXML2:IXMLDOMDOC2,0x0> >_com_IIID<MSXML2:IXMLDOMDOC2,0x0>  //0x0就是传进去的值啊
[解决办法]
不能使用全局的指针作为模板的参数。

热点排行