Re: problem gcc

Autor: Wojciech Gazda (gazda_at_fema.krakow.pl)
Data: Sun 01 Dec 2002 - 00:34:40 MET


Przemyslaw Dobrowolski napisał(a):
>
> Lech Wiktor Piotrowski pisał:
>
> > ccd.cpp:35: no matching function for call to
>
> Pokaż linijki z tego pliku
> > `CCDMatrix::CCDMatrix (cCCD *)'
> > ccd_matrix.h:88: candidates are: CCDMatrix::CCDMatrix(const CCDMatrix &)
> > ccd_matrix.h:26: CCDMatrix::CCDMatrix(long int,
> > long int, unsign
> > ed char, long int, cCCD *)
>
> Ogólnie z tego co widzę, to masz ciało konstruktora, które nie jest w ogóle
> zadeklarowane.
> Widać, że jest konstruktor CCDMatrix::CCDMatrix (cCCD *), a w deklaracjach
> tylko to co powyżej.
>
> > Czyzby linuxowy gcc wiedzial, ze CCDMatrix::CCDMatrix (cCCD *) moze
> > odwolywac sie do CCDMatrix::CCDMatrix(long int, long int, unsigned char,
> long int,
> > cCCD *) z zapewne jakimis domyslnymi pierwszymi 4 parametrami?
>
> NIE! To jest niezgodne ze standardem. Domyślne parametry możesz mieć jako
> ostatnie, ale nigdy nie wcześniejsze.
>
> Z drugiej strony widać, że w w linii ccd_matrix.h gdzie jest deklaracja
> konstruktora nie ma żadnych parametrów domyślnych.
 
Zwyczajnie nie doceniacie kreatywnosci Linux-owego GCC :-( Co sadzicie o
takim przykladzie ktory kompiluje sie pod GCC 2.8.cos_tam (a z
-fpermissive takze na nowszych: 2.95.3):

class blee
{ const int stala1 = 100;
    int y[stala1];
    static int x[stala1];

  public:
    blee() {};
   ~blee() {};
};

main()
{ blee X;
  return 1;
}

I takie cos sie kompiluje :-((( Po dodaniu innych opcji, nawet bez
warningow...

-- 
Wojciech Gazda
/*******************************************************/
/* Home page        - http://www.fema.krakow.pl/~gazda */
/* Asua programmers - http://www.asua.org.pl           */
/*******************************************************/


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:38:26 MET DST