shared_ptr无法解决

shared_ptr cannot be resolved

我正在使用 Eclipse Juno 和 Cygwin C++ 编译器(最新版本)。 我想声明 shared_ptr (之前没有使用过这个指针)为..

包含内存头文件。

int main(){

std::shared_ptr <int> pointer;

return 0;
}

但编译器无法解析 shared_ptr。为了解决这个问题,我做了以下步骤:

  1. properties->c/c++ build->settings->tool settings->Miscellaneous->other flags-> -c -fmessage-length=0 -std=c++11
  2. 属性->c/c++构建->设置->工具设置->Cygwin C++链接器->库(-l)->添加(-pthread)
  3. C/c++ General->path and symbols->Symbols->Add- GXX_EXPERIMENTAL_CXX0X into "Name" and left "Value"空白。
  4. C/c++ General -> Preprocessor include Paths, Macros->Entries-> CDT user setting entries->Add-> Preprocessor Macro (from dropdown manue)-> 名称:__cplusplus, Value:201103L-> 申请
  5. 索引->重建
  6. 重新启动 Eclipse

很遗憾,无法解决问题。如果我能得到帮助,你会很高兴。提前致谢。

您需要 #include <memory> 以便编译器了解 std::shared_ptr

亲爱的所有回答我问题的人, 我能够解决问题。 :-) 在我删除旧的 __cplusplus 值(199711L)后,编译器能够知道 shared_ptr.