2012-11-08 37 views
4

我使用emacs24.1和自動完成,鐺做C++語法的完整,但是,當我觸發自動完成的動作,droplist包含無效成員在結構中沒有指定的函數。我怎樣才能避免這種情況? 我init.el定義有關自動完成,clang.elemacs的使用自動完成,鐺自動完成,它顯示無效成員函數

(add-to-list 'load-path "/root/.emacs.d/plugins/auto-complete-1.3.1") 
(require 'auto-complete) 
(require 'auto-complete-config) 
(add-to-list 'ac-dictionary-directories "/root/.emacs.d/plugins/ac-dict") 
(ac-config-default) 
;;start after 3 characters were typed 
(setq ac-auto-start 3) 
;;show menu immediately 
(setq ac-auto-show-menu 0.3) 

是啊,我知道了構造函數,析構函數和operator =是默認的,但我還是不希望他們被顯示,因爲我沒有指定他們。

enter image description here

回答

2

當你說 「無效的成員函數,」 你指的是用戶信息,用戶信息〜,和運營商=?

這些都是默認的構造函數,析構函數和賦值運算符,分別。每個班級都會有一個。它們不是無效的。實際上它們是必需的,如果你不提供它們,編譯器會生成默認的。對於這方面的一些詳細資料,請參閱http://cartan.cas.suffolk.edu/oopdocbook/opensource/derivedcdas.html

它可能不是壓制這些成員是一個好主意,因爲他們仍然合理的完成。