--- Comment #5 from bangerth at dealii dot org 2007-04-08 00:54 ---
(In reply to comment #4)
ive no idea which part of the standard should imply/allow this. if one
replaces
typename T::privIC * priv with T * priv, its valid and it compiles. I
thought T::privC is equally accessible
--- Comment #3 from bangerth at dealii dot org 2007-03-26 20:46 ---
(In reply to comment #2)
well, priv is a pointer..
What I really meant was a typedef:
template class T struct Base {
typedef typename T::X X;
};
struct A : BaseA
{
typedef int X;
};
--- Comment #4 from mesti_mudam at yahoo dot com 2007-03-26 21:49 ---
ive no idea which part of the standard should imply/allow this. if one replaces
typename T::privIC * priv with T * priv, its valid and it compiles. I
thought T::privC is equally accessible 'incomplete' as T itself
--- Comment #1 from bangerth at dealii dot org 2007-03-23 06:26 ---
Or smaller like this:
--
template class T struct Base {
typename T::X X;
};
struct A : BaseA
{
typedef int X;
};
--
sunCC also rejects it. I tend to believe that the code is
--- Comment #2 from mesti_mudam at yahoo dot com 2007-03-23 06:42 ---
well, priv is a pointer..
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31323