Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 由于将代码从VS2013预览导入VS2012,因此出现唯一的\u ptr编译器错误_C++_Visual Studio 2012_Firebreath_Visual Studio 2013 - Fatal编程技术网

C++ 由于将代码从VS2013预览导入VS2012,因此出现唯一的\u ptr编译器错误

C++ 由于将代码从VS2013预览导入VS2012,因此出现唯一的\u ptr编译器错误,c++,visual-studio-2012,firebreath,visual-studio-2013,C++,Visual Studio 2012,Firebreath,Visual Studio 2013,我在VisualStudio2013预览版之前的代码中使用了std::unique_ptr,我没有遇到这些问题。对于我最近的项目案例,在VisualStudio2012中调试时编译器错误较少。所以现在我只得到了以下错误 这是一条有问题的路线: std::unique_ptr<MyClass> classHolder; std::唯一的类持有者; 下面是编译器所说的 “唯一”:不是“std”的成员 语法错误:缺少“;”在“之前,由于FireBreath必须在没有C++11标准的旧

我在VisualStudio2013预览版之前的代码中使用了std::unique_ptr,我没有遇到这些问题。对于我最近的项目案例,在VisualStudio2012中调试时编译器错误较少。所以现在我只得到了以下错误

这是一条有问题的路线:

std::unique_ptr<MyClass> classHolder;
std::唯一的类持有者;
下面是编译器所说的

  • “唯一”:不是“std”的成员


  • 语法错误:缺少“;”在“之前,由于FireBreath必须在没有C++11标准的旧浏览器上运行,我不知道如何解决您直接描述的问题,但是您可以使用boost作用域的ptr类型而不是unique ptr。

    我在VS 2013更新4中遇到了同样的问题,我只是写了下来

     using namespace std;
    
    它被编译了
    在尝试using语句之前,我已经包括了
    ,并使用了
    std::unique\u ptr
    (就像您所做的那样),这会产生与您在那里遇到的错误一样的错误。
    然而,当我尝试使用
    名称空间std事情解决了

    我想这可能会对某些人有所帮助

    是否包含?是的,头文件中包含内存提供了一个完整的示例来演示此问题。obj用作helper类。为什么要在析构函数中调用
    obj.release()
    ?这是内存泄漏。智能指针的全部意义在于,您不必像那样手动管理它们。他们负责自己的清理工作。这不是一个完整的例子。
     using namespace std;