Topic: Defect Report: Section 14.8.2.4/4


Author: "Michael Kochetkov" <Michael.Kochetkov@trustworks.commmm>
Date: 22 May 01 10:06:08 GMT
Raw View
 [Moderator's note: this defect report has been
 forwarded to the C++ committee. -moderator(fjh).]

Section: 14.8.2.4/4 [temp.deduct.type]:
"If a type is specified as void f(A<T>::B, A<T>), the T in A<T>::B is
nondeduced but the T in A<T> is deduced."

As far as T is supposed to be a template parameter then void f(A<T>::B,
A<T>) declaration is ill-formed because  14.6/2 that says that A<T>::B is
not a type name.

Suggested resolution: Change f's declaration to the following: void
f(typename A<T>::B, A<T>).

With regards,
Michael Kochetkov.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]