#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).
Я не могу поверить, что у меня одна такая проблема, наверное, я что-то не так делаю …
Я переписывался с одним из сопровождающих (Дэвид Энгстер), и он очень отзывчив, чтобы исправить ситуацию. Исправление можно найти в репозитории CEDET bzr начиная с версии 8490
Других решений пока нет …