The following code sample does not compile, and it should.
I get the error:
gpp_bug_1.cpp: In constructor `B<X>::B()':
gpp_bug_1.cpp:10: error: expected `;' before "x"
G++ version: g++ (GCC) 4.4.0 20080729 (experimental)
template<class X> class A{
public:
typedef X type_t;
};
template<class X> class B: A<X>{
public:
using typename A<X>::type_t;
B(){type_t x;}
};
int main_(int argc, char *argv[]){
return 1;
}
--
Summary: syntax error when using type inherited from base class
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: joao dot eiras at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37141