• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z funkcjami w builderze. Could not find a match for 'Slime::Slime()'

Object Storage Arubacloud
0 głosów
140 wizyt
pytanie zadane 21 kwietnia 2016 w C i C++ przez niezalogowany
edycja 21 kwietnia 2016

Witam, mam problem, próbowałem zrobić własną klasę i konstruktor do niej w cpp builderze no i to się udało. Jednak problem mam z funkcją, która ma za zadanie tworzyć obiekty owej klasy jednak jest problem Być może (a raczej na pewno...) wynika to z tego, że nie do końca łapie się w tym co on oznacza i.Czy ktoś powie mi jak rozwiązać problem? 

Błąd:

[C++ Error] Unit1.cpp(208): E2285 Could not find a match for 'Slime::Slime()'​

.h

  class Slime : public TImage
{
private:
      //  AnsiString AText;
        //void __fastcall SetAText(String tekst);
protected:

public:
        __fastcall Slime(TComponent* Owner, int left = -80, int top = 8);
        __fastcall ~Slime(void);
        friend  void generator();

__published:

};

.cpp


  __fastcall Slime::Slime(TComponent* Owner, int left, int top)
  : TImage(Owner)
  {
   this -> Left = left;
   this -> Top = top;
   this -> Picture -> LoadFromFile("img/Slimeball.bmp");
  }
//----------------------------------------------------------------------------
  void generator(){
    new Slime();
  }

 

1 odpowiedź

0 głosów
odpowiedź 21 kwietnia 2016 przez Patrycjerz Mędrzec (192,320 p.)
void generator(){
  new Slime();
}

Ten kod jest błędny z dwóch powodów:

  1. Klasa Slime nie posiada domyślnego konstruktora, więc nie możesz go używać, przy tworzeniu obiektu.
  2. Alokujesz dynamicznie pamięć bez zapamiętania jej adresu - jest to karygodny błąd, powodujący wycieki pamięci. Adres musi być przechowywany przez cały okres życia obiektu, gdyż w przeciwnym razie tracisz do niego dostęp i zapychasz niepotrzebnie pamięć operacyjną.
komentarz 21 kwietnia 2016 przez niezalogowany
Nie posiada konstruktora domyślnego? Przecież ma przypisane wartości? Chyba, że chodzi o fragment z ownerem, ale tutaj nie mam pojęcia jak to zrobić :/

Podobne pytania

0 głosów
1 odpowiedź 136 wizyt
pytanie zadane 10 sierpnia 2020 w SQL, bazy danych przez Bakkit Dyskutant (7,600 p.)
0 głosów
2 odpowiedzi 3,113 wizyt
pytanie zadane 28 kwietnia 2018 w SQL, bazy danych przez bwl Obywatel (1,530 p.)

92,632 zapytań

141,500 odpowiedzi

319,878 komentarzy

62,011 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...