[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::c_plus_plus

Title:C++
Notice:Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS)
Moderator:DECCXX::AMARTIN
Created:Fri Nov 06 1987
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3604
Total number of notes:18242

3455.0. "%CXX-E-OVERLDAMBIG, %CXX-I-OVERMATCHTRY w DEC C++ V5.3 or later" by CSC32::D_SANFORD () Tue Feb 18 1997 19:38

    DEC C++ V5.2-003, OpenVMS VAX V6.2    OK
    DEC C++ T5.5-004, OpenVMS VAX V6.0    OVERLDAMBIG, OVERMATCHTRY
    DEC C++ V5.4-010, OpenVMS Alpha V6.2  OVERLDAMBIG, OVERMATCHTRY
    DEC C++ V5.3-005, OpenVMS VAX V5.5-2  OVERLDAMBIG, OVERMATCHTRY

    The example below compiles on DEC C++ V5.2 or earlier, but on
    V5.3 or later it fails with:

  701                   void testing() {c test( (*this) );}
                ..............................1
%CXX-E-OVERLDAMBIG, (1) In this declaration, the argument list "((*this))"
 matches more than one "c::c".

%CXX-I-OVERMATCHTRY, (1) In this declaration, tried to match "c::c" with the
 type "function (const a) returning reference to c" declared at line 16 in
 DKA0:[D_SANFORD]CLASS.C;1 (listing line 691).

%CXX-I-OVERMATCHTRY, (1) In this declaration, tried to match "c::c" with the
 type "function (reference to const c) returning reference to c" declared at 
 line 12 in DKA0:[D_SANFORD]CLASS.C;1 (listing line 687).


    Customer claims that this same example compiles on Ultrix and HP Unix,
    but did not specify versions.  I was unable to test this on any Unix
    platforms.

    Regards, Drew Sanford
    Customer Support Center


#include <stdio.h>

class a {

public:
        int n;
        a(void) {n = 1;};
        a(const a &m) {n = 1;};
        ~a() {};
};

class c /* : public a  */       {

public:
        int n;
        c(const a m) {n = 1;};   // errors
//      c(const a &m) {n = 1;};  // compiles without error
//      c(const a& m) {n = 1;};  // compiles without error
        ~c() {};
};

class d : public a {

public:
        int n;
        void testing() {c test( (*this) );}
        d();
        d(const a m) {};
        ~d() {};
};

main(void)
{
  d junk;
}
T.RTitleUserPersonal
Name
DateLines
3455.1Fixed in V5.5DECCXX::MITCHELLWed Feb 19 1997 12:143
This problem has been fixed in V5.5.  V5.5 has been 
submitted to manufacturing on both OpenVMS Alpha and
VAX.  The FCS dates are 21-Feb and 14-Mar, respectively.
3455.2Thank you!CSC32::D_SANFORDWed Feb 19 1997 14:451