pcb@usl.usl.edu (Peter C. Bahrs) (10/08/88)
From the readings, I was under the impression that a struct in C++
is a class.
So given:
class {
struct X {
int a; int b;
} * X;
// and some more stuff
}
The statement:
X = new X;
bombs in AT&T C++ on 3B2/Sys V. Any comments?
Thanks in advance.henry@utzoo.uucp (Henry Spencer) (10/10/88)
In article <449@usl.usl.edu> pcb@usl.usl.edu (Peter C. Bahrs) writes: >From the readings, I was under the impression that a struct in C++ >is a class. Yes. > X = new X; >bombs in AT&T C++ on 3B2/Sys V. Any comments? Did you declare the variable X before using it? With the proper type, which is "X *" (since "new X" returns pointer-to-X)? What you have written is an assignment statement, not a declaration. Also, note that one major difference between C++ and C is that a class declaration in C++ implicitly does a typedef as well, which means using the same name for a variable and a type is a bad idea. Try making it "X *Y = new X;". -- The meek can have the Earth; | Henry Spencer at U of Toronto Zoology the rest of us have other plans.|uunet!attcan!utzoo!henry henry@zoo.toronto.edu