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

Qt nie widzi public

0 głosów
1,368 wizyt
pytanie zadane 28 marca 2016 w C i C++ przez niezalogowany
Witam, powoli zaczynam żałował, że przeszedłem na Qt, nic nie działa jak powinno, brak (przynajmniej dla mnie) podstawowych funkcji, a większość rzeczy jest wręcz przekombinowana i niepotrzebna. Aktualnie męczę się z tym że...a zresztą sami zobaczcie

E:\QT\Magazyn\dodaj.cpp:346: błąd: 'Bez' was not declared in this scope
         Bez.push_back(Bezpiecznik(ui->Tekst1->text().toDouble(),ui->Tekst2->text().toDouble(),ui->Tekst3->text()));

i tak jest z pozostałymi wektorami.

Oto kod:

http://wklej.org/id/2179370/

http://wklej.org/id/2179371/

Powie mi ktoś jak to naprawić?? Chociaż naprowadzi na pomysł

2 odpowiedzi

0 głosów
odpowiedź 28 marca 2016 przez criss Mędrzec (172,570 p.)
wybrane 29 marca 2016
 
Najlepsza

No a gdzie w klasie Dodaj masz vector Bez? Ja nie widze... Public nie ma tu nic do rzeczy, przecież nawet nie próbujesz się odwołać do jakiegoś obiektu. Piszesz metode klasy Dodaj i masz pretensje, że nie widzi elementu klasy Magazyn. 

Btw. wiesz, że Ui::Dodaj i Dodaj to dwie różne klasy? Deklaracje typu

namespace Ui {
  class Dodaj;
}

są kompletnie bez sensu. Deklarujesz klase i... nic. Jeśli chcesz, żeby cała, zdefiniowana przez ciebie poniżej tej dziwnej deklaracji, klasa należała do namespace-a Ui, to całą definicje wrzuć w namespace.

namespace Ui
{

class Dodaj
{
...
};

} // ns

 

komentarz 29 marca 2016 przez niezalogowany

Z tego, co widziałem, programowanie w Builderze ma niewiele wspólnego z obiektówką (jest tam obiektowość, ale programując nawet nie musisz sobie zdawać sprawy z jej istnienia).

Dlatego mam teraz takie problemy... już rozumiem

komentarz 29 marca 2016 przez criss Mędrzec (172,570 p.)
Tak myślę. To wiele wyjaśnia. Na twoim miejscu odstawiłbym chwilowo Qt i spróbował napisać coś obiektowo w konsoli - najlepiej wykorzystując jak najwięcej zagadnień poruszonych przez MZ swoim kursie. Tzn. dziedziczenie, funkcje wirtualne, wykorzystanie konstruktorów, listy inicjalizacyjne, deklaracje friend, kwalifikatory dostępu (public, private, protected), polimorfizm, powtórz też wskaźniki i dynamiczną alokacje.
komentarz 29 marca 2016 przez niezalogowany
Też o tym pomyślałem i tak zrobię. Zrobię sobie nowy start i na spokojnie będę się uczyć. Może te moje złe nastawienie do Qt wywodzi się z tego że jak powiedziałeś Builder ma mało co związanego z obiektówką, a chciałem się przenieść na coś porządnego. Tak czy inaczej dziękuję za pomoc :)
komentarz 29 marca 2016 przez criss Mędrzec (172,570 p.)
Powodzenia i nie łam sie :D
komentarz 29 marca 2016 przez niezalogowany
Dzięki za wszystko
0 głosów
odpowiedź 28 marca 2016 przez mariush Dyskutant (7,860 p.)
Ludzie, nauczcie się kiedyś angielskiego. 'Bez' was not declared in the scope znaczy, że 'Bez' czymkolwiek by nie było nie zostało zadeklarowane w zakresie, w którym próbujesz go użyć.

Trzymaj każdą klasę w osobnym pliku. Przynajmniej wtedy kiedy są to widżety/okna. DLACZEGO? Łatwiej się w tym bedzie połapać i będziesz miał mniej okazji do zrobienia jakiegoś błędu.
komentarz 28 marca 2016 przez niezalogowany
Dla mnie Qt jest nieczytelne od 1 razu, jest przekombinowane i przesiadłem się na niego tylko dlatego, że ludzie uważają, iż jest "dobre". Umiem czytać i próbowałem się tego jakoś pozbyć i w ostateczności poprosiłem o pomoc na tym forum

Podobne pytania

0 głosów
1 odpowiedź 654 wizyt
pytanie zadane 1 maja 2016 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 337 wizyt
pytanie zadane 22 marca 2019 w C i C++ przez poldeeek Mądrala (5,980 p.)
0 głosów
1 odpowiedź 259 wizyt
pytanie zadane 5 kwietnia 2019 w C i C++ przez poldeeek Mądrala (5,980 p.)

93,776 zapytań

142,732 odpowiedzi

323,384 komentarzy

63,379 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...