Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com X-Authentication-Warning: hp2.xraylith.wisc.edu: khan owned process doing -bs Date: Tue, 8 Feb 2000 10:03:47 -0600 (CST) From: Mumit Khan To: "K. Haley" cc: cygwin AT sourceware DOT cygnus DOT com Subject: Re: Overloaded constructor resolution In-Reply-To: <4.2.2.20000207195446.00a3c7d0@pop.mail.yahoo.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 7 Feb 2000, K. Haley wrote: > I'm trying to compile some library code with GCC 2.95.2 but I keep getting > an ambiguous constructor call. Here is the error: > > gauge.cpp: In method `void OWL::TGauge::SetBkgndColor(const OWL::TColor &)': > gauge.cpp:217: call of overloaded `TColor(unsigned int)' is ambiguous > ../../Include/owl/color.h:458: candidates are: OWL::TColor::TColor(const > OWL::TColor &) > ../../Include/owl/color.h:468: OWL::TColor::TColor(long > unsigned int) > ../../Include/owl/color.h:478: OWL::TColor::TColor(long int) > ../../Include/owl/color.h:509: OWL::TColor::TColor(short int) > make: *** [../../Obj/owlwfg/gauge.obj] Error 1 > > I've fixed the offending code with a cast, but I'm wondering why other > compilers don't complain. This code has been compiled with Borland and MS > compilers. From the message, your code is simply ambiguous and needs a cast. I don't know why MS and Borland accept it, but KAI, GCC etc don't. Here's a trivial testcase: struct foo { foo (long unsigned int); foo (long int); foo (short int); }; void bar () { foo foo1 (5); // <<< Hmmm ... which one? } You could always try out Comeau's online compiler (it's based on the EDG front-end like KCC and one of the most standard conforming out there) at http://www.comeaucomputing.com/tryitout/ If you feel it's a bug, please post a testcase to gcc-bugs AT gcc DOT gnu DOT org. Regards, mUmit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com