C++ nimeää funktiot eri tavalla kuin C- kieli (vrt. overloading). Esimerkiksi jos C- kielellä on kirjoitettu funktio tulosta, on sen nimi linkitysvaiheessa _tulosta (alleviiva nimen edessä).
Borland C++ 3.1 nimeäisi funktioita seuraavasti (Microsoft hieman erilailla):
Funktion protoyyppi nimi linkitysvaiheessa ---------------------------------------------------------------------- void tulosta(int i,int j) tulosta$qii int tulosta(double d,int tila=5,int desi=2) tulosta$qdii void tulosta(char near *s,int tila=1) tulosta$qpzci void tulosta(char far *s,int tila=1) tulosta$qnzci
extern "C" void tulosta(int i);Jos C- kirjastolle on valmis include-tiedosto tulosteet.h, missä on kaikkien kirjaston funktioiden prototyypit, on tietysti turha lähteä kirjoittamaan prototyyppejä uudelleen, koska voidaan käyttää C++:ssa muotoa:
extern "C" { #include "tulosteet.h" }
Mikäli aliohjelmien lähdekoodi (source) on käytettävissä, kannattaa ne tietenkin kääntää itse C++:lla, jolloin nimeämisvaikeuksista ei tarvitse välittää.