Max_150 Temat założony przez niniejszego użytkownika |
Problem z załączniem plików do projektu. » 2015-07-30 14:03:21 Jak w nazwie tematu,znowu męczę się kilka godzin nad czymś banalnym.
Tu główny plik:
#include <QCoreApplication> #include "Call_Cards.h"
class Cards {
int Points;
public: Cards(int P) { Points=P;
}
void Call_Cards();
};
int main(int argc, char *argv[]) {
Cards B(1);
B.Call_Cards();
QCoreApplication a(argc, argv);
return a.exec(); }
A tutaj plik do załączenia:
#ifndef CALL_CARDS_H #define CALL_CARDS_H
void Call_Cards()
{ Cards
}
#endif // CALL_CARDS_H
PS::::
To jest tylko dla testu,więc nie piszcie mi,te rozwiązania są gówniane,bo to jest napisane,tylko od tak,aby zaobaczyć szybko co jest nie tak.W QT,kiedyś słyszałem,że są problemu z załączniem plików,więc piszę ten wątek,bo nie mam pojęcia co jest nie tak. Plik niby jest załadowany,ale jak chcę się odnieść do zmiannych zawartych w klasie,to nie ma takiej opcji,mimo iż w klasie,jest zdefiniowana metoda za to odpowiadająca,a jej ciało jest w 2 pliku,wie ktos o co biega?Bo mnie szlak trafia,w googlach ni licha o tym.
|
|
pekfos |
» 2015-07-30 14:06:47 void Call_Cards()
{ Cards } |
To definicja funkcji, a nie metody. |
|
Max_150 Temat założony przez niniejszego użytkownika |
» 2015-07-30 14:10:16 A mógł byś mi łaskawie napisać,jak to powinno być zrobione??Bo znowu,znowu.. kilka h,w licho mi poszło,przeglądałem różne tutoriale,ale nic nie kumam,więc jak to kilka lini,to napisz,będe bardzo wdzięczny,bo nie mam zielonego pojęcia,jak odnieść się do zmiennej w klasie,z innego pliku.
Ktoś radził aby zrobić to tak
void Cards::Call_Card {
}
Ale też nie działa. |
|
pekfos |
» 2015-07-30 14:11:44 void Cards::Call_Cards() { }
|
|
Max_150 Temat założony przez niniejszego użytkownika |
» 2015-07-30 14:17:00 Nie działa,jak dodaje to "Cards::",to jest error,Cards has been not declared.
Zobacze w innym programie,może to wina Qt,choć wątpie.
Dokładnie tak mi radzone,a mimo to lipa,nie działa,plik w lokalizacji projektu,zaincludowany do main'a,nie wiem co jest. |
|
maly |
» 2015-07-30 14:17:32 Deklarację klasy masz w głównym pliku a definicje dajesz do nagłówka? |
|
Max_150 Temat założony przez niniejszego użytkownika |
» 2015-07-30 14:20:19 Tak jest w tym przykładzie to zrobione.JAk zrobilem inaczej,to też nie działało,może winna była jakas iterówka,albo samo Qt z mingw,bo kieyś gdzieś ktoś pisał,że w którejś z wersji,takie problemy były,nie wiem czy to prawda,tak czy siak,dalej nie działa.
Nawet jak dam całą klasę do nagłówka,to mam w main,error undefined reference to Cards::Call_Cards(). |
|
pekfos |
» 2015-07-30 14:22:41 Nie działa, bo masz program źle podzielony na pliki. Definicja metody ląduje nad definicją klasy, a nie powinna lądować nigdzie, bo nie może być w nagłówkach, chociaż będzie to działać w twojej dziwacznej architekturze "main i same nagłówki". Prędzej czy później wejdziesz przez to w bardziej złożone problemy, których może nie dać się rozwiązać, bez przerobienia całego projektu by był, jak należy. Teraz sam zdecyduj, czy chcesz robić dobrze, czy 'byle by działało'. Dzielenie kodu na kilka plików źródłowych |
|
« 1 » 2 |