If from the test.cpp editor I highlight callme in the test::callme definition and CTRL-ALT-H I get
Cannot resolve selected text to a defined function or member
(similarly if I highlight test::callme)
If I select the actual call to callme() in call_callme definition and then CTRL-ALT-H I get a reference to the declaration in the header file. I would expect that the call hierarchy should find the call in call_callme().
I would expect that the call in test::call_callme() would show up in the call hierarchy
Funny thing is some call hierarchy stuff seems to work, basically I was seeing a problem in one of my source files and I was trying to find the core problem.
I have tried creating a file more redirects and whenever i select a call, i only get a reference to the declaration.
Am I doing something wrong ?
I am using a released helios cdt if it matters, although I saw the same problem on a version of galileo.
If you're using CDT < 8.0 you could turn on the problems semantic highlighting. It will detect some problems as you type without the need of compiling. With 8.0 it will actually give you errors with descriptions, not just change the text color to red.
To turn on problems semantic highlighting : Preferences > C/C++ > Editor > Syntax coloring > Problems, Check Enable.
In CDT 8.0, the errors work out of the box.
In both cases, you will need the paths and symbols properly setup (Project properties, C/C++ General, Paths and Symbols) or else you will have a lot of false errors.
I also struggled with the problem of the Open Call Hierarchy (and the Open Declaration) dialogs not finding the function or variable I had highlighted.
I found that by creating a new workspace and importing my project into it, these functions started to work as expected. Now I realize that this does not solve or shed too much light on the root cause, but it is a quick work around.