duvarney@xyzzy.UUCP (Dan DuVarney) (11/01/88)
I am using g++ version 1.25 on a Sun 3/50 running SunOS 3.5. It appears that g++ is incorrectly choosing which constructor to use in certain cases. For example: -------------------------------------------------- #include "stream.h" class F { int i; float f; public: F(int i1, float f1); F(int i1, int i2); } F::F(int i1, float f1) { i = i1; f = f1; cout << "int, float constructor called\n"; } F::F(int i1, int i2) { i = i1 + i2; f = 0.0; cout << "int, int constructor called\n"; } main() { F f(0,0.0); } ---------------------------------------------------- When I run this program the output is "int, int constructor called." It seems to me that the int, float constructor should be called instead -- although I am a C++ novice and could be wrong. -- Dan DuVarney ...!mcnc!rti!dg-rtp!duvarney