1) The C++ binding for Communicator_id should certainly be
int MPI::Communicator::id(int *id)
since it is obviously a method of an MPI::Communicator.
Reading further it seems that a similar problem applies to most of
the C++ bindings, e.g.
int MPI::Type_contents(MPI::Datatype, ...etc...)
should be
int MPI::Datatype::contents( ...etc...)
and so on.
-- Jim
James Cownie
BBN UK Ltd
Phone : +44 117 9071438
E-Mail: jcownie@bbn.com