Title
Wrong type in num_get::get() overloads
Status
cd1
Section
[facet.num.get.members]
Submitter
Matt Austern

Created on 2000-11-02.00:00:00 last changed 163 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

In [facet.num.get.members], change

  iter_type get(iter_type in, iter_type end, ios_base& str,
                ios_base::iostate& err, short& val) const;

to

  iter_type get(iter_type in, iter_type end, ios_base& str,
                ios_base::iostate& err, float& val) const;
Date: 2000-11-02.00:00:00

In 22.2.2.1.1, we have a list of overloads for num_get<>::get(). There are eight overloads, all of which are identical except for the last parameter. The overloads are:

  • long&
  • unsigned short&
  • unsigned int&
  • unsigned long&
  • short&
  • double&
  • long double&
  • void*&

There is a similar list, in 22.2.2.1.2, of overloads for num_get<>::do_get(). In this list, the last parameter has the types:

  • long&
  • unsigned short&
  • unsigned int&
  • unsigned long&
  • float&
  • double&
  • long double&
  • void*&

These two lists are not identical. They should be, since get is supposed to call do_get with exactly the arguments it was given.

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg2080
2000-11-02 00:00:00admincreate