franke@dvscotty.cad.mcc.com (David Franke) (08/07/89)
g++ version 1.35.1- compiles the following without incident:
class class1 {
public:
int var1;
};
class class2 : public class1 {
public:
class2 ( int val ) { var1 = val; }
};
class class3 : public class1 {
public:
class3 ( int val ) { var1 = val+1; }
};
but reports:
In method struct class3 *class3::class3 (int):
testb1.c:14: multiple initializations given for member `var1'
on the following source:
class class1 {
public:
int var1;
};
class class2 : public class1 {
public:
class2 ( int val ) : var1(val) {}
};
class class3 : public class1 {
public:
class3 ( int val ) : var1(val+1) {}
};
Aren't these equivalent? Lippman, Section 6.1 (p. 242-243)
leads me to believe they are.
David Franke, MCC CAD Program | ARPA: franke@mcc.com | Phone: [512] 338-3641
UUCP: {uunet,harvard,gatech,pyramid}!cs.utexas.edu!milano!cadillac!franke