用vc2010开发的工程,使用了atlbase.h头文件,但是编译的时候总是提示:“T”标识符未声明!
顺着错误提示,找到是769行:
NoAddRefReleaseOnCComPtr* operator->() const
{
ATLASSERT(p!=NULL);
return (_NoAddRefReleaseOnCComPtr*)p;
}
这里的T转到声明(转到定义也是)到415行:
template
class _NoAddRefReleaseOnCComPtr : public T
{
private:
STDMETHOD(ULONG, AddRef)()=0;
STDMETHOD_(ULONG, Release)()=0;
};
这里的T是类模版是吗?怎么没有声明完就已经被下面的_NoAddRefReleaseOnCComPtr这个类继承了,况且在769行_NoAddRefReleaseOnCComPtr这样用是可以的吗?
听说csdn上都是高手大神,跪求高手大神们指点啊!