IBM Support

LI77324: INCORRECT DEFAULT TEMPLATE TYPE ARGUMENT INIT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A template instantiation error is seen for a template class's
    inline template function, that does not use a defined default
    type from the template class's instantiation type.  For example,
    an inline constructor:
    
    
     template < typename T, typename MYTYPE = default_type<T> >
     class A
     {
       template < typename MYTYPETYPE>
       A( MYTYPETYPE value );
     };
    
     template < typename T, typename MYTYPE >
     template < typename MYTYPETYPE >
     inline
     A< MYTYPE >::A( MYTYPETYPE value) { }
    
     ...
    
     A< char, not_default_type<char> >;
    
    
    The output error:
    
    1540-0295 (S) A parameter of type "not_default_type<char> &"
    cannot be initialized with an rvalue of type
    "default_type<char>".
    

Local fix

  • N/A
    

Problem summary

  • PROBLEM DESCRIPTION:
    An unused default template argument was being used in an
    instantiation causing a compiler error.
    
    USERS AFFECTED:
    The problem is very specific:  a template class with a default
    template argument has a member template function with a default
    function argument, the default function argument references the
    template parameter with the default argument from the enclosing
    class, that member template function is defined out-of-line AND
    the template parameter has the same name as the class
    definition.
    

Problem conclusion

  • The problem has been resolved.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI77324

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5725C7300

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-04-27

  • Closed date

    2013-04-27

  • Last modified date

    2013-04-27

  • APAR is sysrouted FROM one or more of the following:

    IV35718

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL C/C++ FOR LI

  • Fixed component ID

    5725C7300

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
14 October 2021