Instructions for Vim 7.0
See :help new-omni-completion
Omni completion support comes out of the box for several languages (e.g. C).
MS Windows users will also want to install Exuberant Ctags.
C++ support
Try doing :set omnifunc while editing a C++ file.
If you get omnifunc=ccomplete#Complete as a result, it means you are presently using not C++, but the bundled C completion.
To get C++ completion support you can try installing OmniCppComplete. Please read the doc/omnicppcomplete.txt file in the archive for further help.
Note: In *NIX these files go into your ~/.vim directory. In MS Windows you put them in %HOMEPATH%/vimfiles.