C ++ unique_ptr作为类属性不能编译

时间:2014-10-23 22:20:23

标签: visual-studio-2013 directx-11 unique-ptr

我正在使用带有DirectXToolkit的Visual Studio 2013,但我似乎无法编译unique_ptr部分:

class Graphics
{
private:
    ID3D11Device *Device;
    ID3D11DeviceContext *DeviceContext;
    IDXGISwapChain *SwapChain;
    ID3D11RenderTargetView *RenderTargetView;

protected:
    std::unique_ptr<PrimitiveBatch<VertexPositionColor>> Batch;

这些是错误:

  1. 错误3错误C2974:'std :: unique_ptr':'_Ty'的模板参数无效,预期类型
  2. 错误5错误C2238:';'之前的意外令牌
  3. 错误2错误C2065:'VertexPositionColor':未声明的标识符
  4. 错误1错误C2065:'PrimitiveBatch':未声明标识符d错误4错误C2059:语法错误:'&gt;'
  5. Headers和libs都包括在内。 IDE本身不会显示任何错误。

    也许有人可以告诉我我做错了什么!提前谢谢!

1 个答案:

答案 0 :(得分:0)

哦天哪,我必须在与类定义相同的标题中包含using命名空间。这解决了错误。