Resolving multiple definitions of the same template function

Note: For complete information on using C++ templates, see z/OS XL C/C++ Programming Guide.
When the prelinker generates template functions, it resolves multiple function definitions as follows:
  • If a function has both a specialization and a generalization, the specialization takes precedence.
  • If there is more than one specialization, the prelinker issues a warning message.
Because the link step does not remove unused instantiations from the executable program, instantiating the same functions in multiple compilation units may generate very large executable programs.