Skip to main content

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

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

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

XL C/C++ for AIX

Compiler


Software version:
12.1


Reference #:
IV35718


Modified date:
2013-03-13

Translate my page

Content navigation