Jiri Palecek jpale...@web.de a écrit:
Ulf Magnusson wrote:
On Wed, Nov 14, 2012 at 6:10 PM, Piotr Wyderski
piotr.wyder...@gmail.com wrote:
The following snippet:
class A {};
class B : public A {
typedef A super;
public:
class X {};
};
class C : public B {
typedef B
Dodji Seketeli wrote:
That, and [dcl.typedef]/6 says:
In a given scope, a typedef specifier shall not be used to redefine
the name of any type declared in that scope to refer to a different
type.
So, I tend to think that GCC is right here.
Right *where*? In case of the snippet
On Fri, Nov 16, 2012 at 7:15 AM, Piotr Wyderski
piotr.wyder...@gmail.com wrote:
Dodji Seketeli wrote:
That, and [dcl.typedef]/6 says:
In a given scope, a typedef specifier shall not be used to redefine
the name of any type declared in that scope to refer to a different
type.
Piotr Wyderski wrote:
Dodji Seketeli wrote:
That, and [dcl.typedef]/6 says:
In a given scope, a typedef specifier shall not be used to redefine
the name of any type declared in that scope to refer to a different
type.
So, I tend to think that GCC is right here.
Right *where*?
The following snippet:
class A {};
class B : public A {
typedef A super;
public:
class X {};
};
class C : public B {
typedef B super;
class X : public super::X {
typedef super::X super;
};
};
compiles without a warning on Comeau and MSVC, but GCC (4.6.1 and
4.7.1)
On Wed, Nov 14, 2012 at 6:10 PM, Piotr Wyderski
piotr.wyder...@gmail.com wrote:
The following snippet:
class A {};
class B : public A {
typedef A super;
public:
class X {};
};
class C : public B {
typedef B super;
class X : public super::X {
typedef super::X
Ulf Magnusson wrote:
On Wed, Nov 14, 2012 at 6:10 PM, Piotr Wyderski
piotr.wyder...@gmail.com wrote:
The following snippet:
class A {};
class B : public A {
typedef A super;
public:
class X {};
};
class C : public B {
typedef B super;
class X : public super::X {