strange behaviour of g++

Peter Schmid schmid@ltoi.iap.physik.tu-darmstadt.de
Mon Feb 9 09:36:00 GMT 1998


While building tccs the compiler says: 
call of overloaded `fatal(char[30], const char *&, const char *&)' 
is ambiguous. I added the function mein.
I see no ambiguity here. gcc-2.7.2 compiles the file.

Peter Schmid

cat komisch.C
class TccsBase {
  public:
    TccsBase(void);
    virtual		~TccsBase() {}
    void 		fatal(const char *fmt, ...) const;
    void fatal(bool doperror, const char *fmt, ...) const;
    void mein(const char *option,bool readonly,const char *argument);

};

class TccsCmd : public TccsBase {
        // private:
  public:
    
    void 	    	_cmdParseRCOption(const char *option,
                                          bool readonly,
                                          const char *argument);
  public:      
    virtual			~TccsCmd();
};

void TccsBase::mein(const char *option, bool readonly, const char *argument)
{
    fatal("invalid umask value (%s = %s)", option, argument);
    fatal(readonly,"invalid modes value (%s = %s)", option, argument);
}

void TccsCmd::_cmdParseRCOption(const char *option,
                                bool readonly, const char *argument)
{
    fatal("invalid umask value (%s = %s)", option, argument);
    fatal(readonly,"invalid modes value (%s = %s)", option, argument);
}



g++ -c  komisch.C
komisch.C: In method `void TccsBase::mein(const char *, bool, const char *)':
komisch.C:24: call of overloaded `fatal(char[30], const char *&, const char *&)' is ambiguous
komisch.C:6: candidates are: TccsBase::fatal(bool, const char * ...) const
komisch.C:5:                 TccsBase::fatal(const char * ...) const
komisch.C: In method `void TccsCmd::_cmdParseRCOption(const char *, bool, const char *)':
komisch.C:31: call of overloaded `fatal(char[30], const char *&, const char *&)' is ambiguous
komisch.C:6: candidates are: TccsBase::fatal(bool, const char * ...) const
komisch.C:5:                 TccsBase::fatal(const char * ...) const





More information about the Gcc-bugs mailing list