簡體   English   中英

eclipse中的unique_ptr自動完成

[英]unique_ptr autocomplete in eclipse

我正在玩unique_ptr。 在我的一篇文章中,人們通過在編譯期間指定-std = c ++ 0x來幫助我編譯使用此指針的程序。 現在我想知道是否有任何方法可以指示eclipse在自動完成時考慮c ++ 11?
unique_ptr沒有進入std :: namespace列表,也沒有找到與unique_ptr相關的方法(reset,move ...)。

謝謝vahid

“memory”標題(可能在/usr/include/c++/4.9/memory中找到)只包含“unique_ptr.h”和“shared_ptr.h”(可能在/usr/include/c++/4.9/bits/unique_ptr中找到)。 h和/usr/include/c++/4.9/bits/shared_ptr.h)如果宏“__cplusplus”等於或大於“201103L”。 檢查memory.h,自己在第69行查看“#if”預處理器條件(或搜索字符串“#if __cplusplus> = 201103L”)。

正如其他人所提到的,使用“-std = c ++ 0x”或更高版本的c ++標准(-std = c ++ 11或-std = c ++ 14)進行編譯可以解決編譯錯誤,但不能解決eclipse索引和自動完成問題。

為了解決eclipse索引問題,我將“__cplusplus”預處理器宏添加到項目構建屬性中,值為“201103L”,之后我刷新了索引;

要添加預處理器宏:

“右鍵單擊項目資源管理器上的項目”>>屬性>> C / C ++一般>>預處理器包括>>條目>> GNU C ++ >> CDT用戶設置條目>>添加... >>預處理器宏;

然后輸入一個名為“__cplusplus”且值為“201103L”的宏;

之后,要刷新索引,請執行以下操作:

“在項目瀏覽器上右擊項目”>>索引>>重建;

Ps。:我在ubuntu 15.04 64bits上使用gcc 4.9.2和eclipse Luna(4.4.2)

我想你應該在Eclipse中的“Paths and Symbols”中添加__GXX_EXPERIMENTAL_CXX0X__定義。 另請參閱這個問題GNU C ++如何檢查-std = c ++ 0x何時生效? 並且相同的問題Eclipse索引器無法解析shared_ptrshared_ptr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM