Sdílet prostřednictvím


Rozdíly z jiných implementací

Konkrétní společnosti Microsoft

Následující seznam uvádí některé rozdíly mezi Microsoft C++ a jiným kompilátory.

  • Kompilátor nelze vytvořit instanci šablony mimo modul, ve kterém je definována.Visual C++ nepodporuje export klíčové slovo.

  • Šablony nelze použít s funkcí s __declspec (dllimport) nebo __declspec (dllexport).

  • Všechny argumenty šablony musí být jednoznačné typu, který přesně odpovídá seznamu parametr šablony.Příklad:

    template< class T > T check( T );
    template< class S > void watch( int (*)(S) );
    watch( check );     //error
    

    Kompilátor by měl vytvořit instance check podle šablony funkce ve formuláři int check( int ), ale nemůže být zahájen odvození.

  • Při překládání názvů používaných v šablony třídy nebo funkce šablony, jsou považovány za názvy všech závislých názvy.Viz překlad závislých typů

  • V šabloně třídy můžete předefinovat parametr šablony v působnosti definice třídy.Viz překlad názvů místně deklarované

Viz také

Další zdroje

Šablony