【问题标题】:C++ unique_ptr as class property doesnt compileC++ unique_ptr 作为类属性不编译
【发布时间】:2014-10-23 22:20:23
【问题描述】:

我正在使用带有 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:语法错误:'>'

标头和库都包括在内。 IDE 本身不显示任何错误。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-07-16
      • 1970-01-01
      • 2014-01-30
      • 2022-07-09
      • 2015-07-23
      • 2018-06-04
      • 2014-05-12
      • 2012-04-03
      • 1970-01-01
      相关资源
      最近更新 更多