IV35718: 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

    IV35718

  • Reported component name

    XL C/C++ FOR AI

  • Reported component ID

    5725C7200

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-01-22

  • Closed date

    2013-03-12

  • Last modified date

    2013-03-13

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

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

    LI77324 LI77363

Fix information

  • Fixed component name

    XL C/C++ FOR AI

  • Fixed component ID

    5725C7200

Applicable component levels

  • RC10 PSY U858524

       UP C



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

XL C/C++ for AIX
Compiler

Software version:

12.1

Reference #:

IV35718

Modified date:

2013-03-13

Translate my page

Machine Translation

Content navigation