Article View: gnu.g++.bug
Article #335Member initialization via member initialization list vs. statement in constructor body
From: David Franke
Date: Mon, 07 Aug 1989 15:39
Date: Mon, 07 Aug 1989 15:39
44 lines
1372 bytes
1372 bytes
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
Technical Details
Message-ID:
<2107@cadillac.CAD.MCC.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!watmath!uunet!cs.utexas.edu!milano!cadillac!dvscotty!frankeShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!uunet!cs.utexas.edu!milano!cadillac!dvscotty!franke From: franke@dvscotty.cad.mcc.com (David Franke) Newsgroups: gnu.g++.bug Subject: Member initialization via member initialization list vs. statement in constructor body Message-ID: <2107@cadillac.CAD.MCC.COM> Date: 7 Aug 89 15:39:08 GMT Sender: news@cadillac.CAD.MCC.COM Lines: 44