Use of typeof() for member data declaration (in g++)

M

M. Steinbach

Thanks.

---
class Real {
public:
double data;
};

class A {
public:
Real a;
typeof( a.data ) b; // Fails
};

--- g++ t.C:
t.C:10: invalid use of member 'A::a'
t.C:10: ISO C++ forbids declaration of 'b' with no type
Posted via Surge1
 
T

tom_usenet

Thanks.

---
class Real {
public:
double data;
};

class A {
public:
Real a;
typeof( a.data ) b; // Fails
};

--- g++ t.C:
t.C:10: invalid use of member 'A::a'
t.C:10: ISO C++ forbids declaration of 'b' with no type
Posted via Surge1

typeof is a gcc extension - you should ask on the GCC mailing lists.
Certainly the code is illegal in standard C++ - you need:

class A {
public:
Real a;
double b; // or use a typedef in Real.
};

Tom

C++ FAQ: http://www.parashift.com/c++-faq-lite/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,733
Messages
2,569,439
Members
44,829
Latest member
PIXThurman

Latest Threads

Top