Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z załączniem plików do projektu.

Ostatnio zmodyfikowano 2015-07-30 14:48
Autor Wiadomość
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.

P-135443
pekfos
» 2015-07-30 14:06:47
C/C++
void Call_Cards()

{
    Cards
   
}
To definicja funkcji, a nie metody.
P-135444
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.
P-135446
pekfos
» 2015-07-30 14:11:44
C/C++
void Cards::Call_Cards() { }
P-135448
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.
P-135451
maly
» 2015-07-30 14:17:32
Deklarację klasy masz w głównym pliku a definicje dajesz do nagłówka?
P-135453
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().
P-135455
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'.
» Kurs C++Dzielenie kodu na kilka plików źródłowych lekcja
P-135456
« 1 » 2
  Strona 1 z 2 Następna strona