C++ ATL(atlalloc.h)在编译时生成错误

C++ ATL(atlalloc.h)在编译时生成错误,c++,visual-c++,atl,C++,Visual C++,Atl,编译器在编译我的代码时出现了几个错误。 错误: 这是标题的代码部分: template <typename T> inline T AtlThrow(T tLeft, T tRight) { T tResult; HRESULT hr=AtlAdd(&tResult, tLeft, tRight); if(FAILED(hr)) { AtlThrow(hr); } return tResult; }

编译器在编译我的代码时出现了几个错误。 错误:

这是标题的代码部分:

    template <typename T>
inline T AtlThrow(T tLeft, T    tRight)
{
    T tResult;
    HRESULT hr=AtlAdd(&tResult, tLeft, tRight);
    if(FAILED(hr))
    {
        AtlThrow(hr);
    }
    return tResult;
}
模板
内联T形横投(T形横投,T形横投)
{
T-tResult;
HRESULT hr=AtlAdd(&tResult、tLeft、tRight);
如果(失败(小时))
{
atltrow(hr);
}
返回tResult;
}

我的问题:如何从标题修复此错误?我需要安装一些sdk或关于ATL的东西吗?

您的代码中有一些东西将
AtlThrowImpl
从编译器输入中排除:

  • 您以某种方式排除了
  • 或者,您已经定义了
    \u ATL\u无异常
  • 或者,您已经定义了
    \u ATL\u CUSTOM\u THROW
  • 或者,您已通过包含

AtlThrowImpl
在atlexcept.h中,有完整的项目在您面前,您可以检查到底有什么冲突并排除它。

您能给我一个链接,从那里我可以下载所有atl的标题吗?atl随MS Visual Studio提供,不包括免费的Express版本。没有下载链接。DDK可以免费获得一段相当古老的ATL。
    template <typename T>
inline T AtlThrow(T tLeft, T    tRight)
{
    T tResult;
    HRESULT hr=AtlAdd(&tResult, tLeft, tRight);
    if(FAILED(hr))
    {
        AtlThrow(hr);
    }
    return tResult;
}