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 ]