[Bug c++/15260] New: base class typedef referred through 'using' declaration still unusable without qualification
jbeulich at novell dot com
gcc-bugzilla@gcc.gnu.org
Mon May 3 10:24:00 GMT 2004
template<typename T> class n;
template<typename T> class b {
protected:
typedef n<T> n_t;
};
template<typename T> class d : private b<T> {
using typename b<T>::n_t;
public:
n_t*test0();
typename n_t*test1();
typename b<T>::n_t*test2();
};
void test() {
d<int> di;
di.test0();
di.test1();
di.test2();
}
results in errors on the unqualified uses of n_t in class d. I cannot see
anything invalid with these constructs, nor can Intel's or a couple of other
compilers I tried this with.
--
Summary: base class typedef referred through 'using' declaration
still unusable without qualification
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jbeulich at novell dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-suse-linux
GCC host triplet: i686-suse-linux
GCC target triplet: i686-suse-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15260
More information about the Gcc-bugs
mailing list