vim ctag leading to the wrong definition of fun


I'm using vim's ctag to navigate through c++ codes. in many cases it's working all right. but there're some errors when:

vector<int> v;

when i'm navigating from the "push_back" here, it brings me to /usr/include/c++/4.4.7/bits/basic_string.h 's push_back()

I'm wondering if it's a bug of or drawback of vim/ctags ?


Vim's tag navigation is not syntax-tree-aware. By default it jumps to the first matching tag from the tags file.