#include <iostream>
class SomeStructure
{
int mMemberOne;
float mMemberTwo;
char MemberFunction()
{
int test = 0;
++test;
this->
}
};
int main()
{
SomeStructure abc;
abc.MemberFunctionMemberFunction
}
В этом файле работает любое другое автозаполнение, за исключением случая, когда я пытаюсь автозаполнить this->
. Я не получаю предложений. Запуск semantic-analyze-debug-assist
дает мне это:
Unable to find symbol this. The prefix lookup code threw the following error: (error "Cannot find definition for \"this\"") To debug this error you can do this: M-x toggle-debug-on-error RET [ Do It ] and then re-run the debug analyzer.
M-x bovinate
дает мне:
(("iostream" include (:system-flag t) (unlink-hook (semantic--tag-unlink-secondary-overlays) secondary-overlays (#<overlay from 1 to 20 in junk.cpp>) dependency-file "c:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include/iostream" link-hook (semantic--tag-link-secondary-overlays) unlink-copy-hook (semantic--tag-unlink-copy-secondary-overlays) :filename "d:/project/client/junk.cpp") #<overlay from 1 to 20 in junk.cpp>) ("SomeStructure" type (:members (("mMemberOne" variable
(:type "int")
(reparse-symbol classsubparts)
#<overlay from 46 to 61 in junk.cpp>)
("mMemberTwo" variable
(:type "float")
(reparse-symbol classsubparts)
#<overlay from 64 to 81 in junk.cpp>)
("MemberFunction" function
(:type "char")
(unlink-copy-hook
(semantic--tag-unlink-copy-secondary-overlays)
link-hook
(semantic--tag-link-secondary-overlays)
reparse-symbol classsubparts secondary-overlays
(#<overlay from 85 to 107 in junk.cpp>)
unlink-hook
(semantic--tag-unlink-secondary-overlays))
#<overlay from 85 to 165 in junk.cpp>)) :type "class") (unlink-copy-hook (semantic--tag-unlink-copy-secondary-overlays) link-hook (semantic--tag-link-secondary-overlays) secondary-overlays (#<overlay from 22 to 42 in junk.cpp>) unlink-hook (semantic--tag-unlink-secondary-overlays)) #<overlay from 22 to 168 in junk.cpp>) ("main" function (:type "int") (unlink-copy-hook (semantic--tag-unlink-copy-secondary-overlays) link-hook (semantic--tag-link-secondary-overlays) secondary-overlays (#<overlay from 172 to 183 in junk.cpp>) unlink-hook (semantic--tag-unlink-secondary-overlays)) #<overlay from 172 to 250 in junk.cpp>))
Итак, похоже, что структура SomeStructure
анализируется правильно. Просто похоже, что у семантики есть какая-то проблема с this
.
Кроме того, я последовал предложению ошибки о повторном запуске с включенным toggle-debug-on-error
, однако даже при включенном отладчике ошибка не прерывается.
Использование последней версии emacs (24) и cedet (trunk).
Я не могу поверить, что я единственный, у кого есть эта проблема, это должно быть что-то, что я делаю неправильно...