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