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

[lekcja 24] Problem z referencją

Ostatnio zmodyfikowano 2012-12-19 20:22
Autor Wiadomość
Kopczak1995
Temat założony przez niniejszego użytkownika
[lekcja 24] Problem z referencją
» 2012-12-19 18:54:40
Witam.
Mam problem ze wspomnianą wyżej referencją. Autor kursu posługiwał się systemem, w którym pisał tak:
C/C++
#include potrzebne biblioteki

void Jakas_funkcja( int & zmienna )
{
    //jakieś tam operacje
}

int main()
{
    int zmienna;
    Jakas_funkcja( zmienna );
    return 0;
}
I wszystko cacy jak tak sobie przetestowałem. Ja mam jednak problem jak to wdrożyć do mojego programu, ponieważ używam normalnie pliku nagłówkowego, w którym deklaruje wszystkie funkcje, w pliku main wywołuje je, a implementację danych funkcji mam w osobnym pliku źródłowym. Niestety twórca kursu zrobił tak, że od razu implementuje funkcje bez zabawy w deklarowanie jej.
Jak się deklaruje w pliku nagłówkowym funkcję wykorzystującą referencję? Nie chcę zupełnie przebudowywać gry, a pozostawić tak jak jest czyli:
C/C++
//plik naglowek.hpp

/*
Tu mam wszystkie deklaracje oraz includuję biblioteki potrzebne w main
*/

//plik main.cpp
#include "naglowek.hpp"

/*
Tu wywołuję wszelkie potrzebne funkcje
*/

//plik funkcje.cpp
#include potrzebne_biblioteki

/*
Wszelkie implementacje moich funkcji
*/
Pomóżcie proszę... Mam z tym problem od dłuższego czasu, a informacji nie mogę nigdzie znaleźć :{
P-71440
CodeMeister
» 2012-12-19 19:53:49
plik *.h/hpp
int func(int &abc);

plik *.cpp
//tak samo

main()
{
int abc;
func(abc);
P-71449
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2012-12-19 20:08:15
Epic facepalm...
Epic facepalm...
 Nieeeee!!! No mam momenty gdy jak odkryje co zrąbałem to mam szczery zamiar zrobić to co gostek u góry...
2 dni męczyłem się nad referencją, patrzcie ludu co źle zrobiłem:
C/C++
//tak pisałem deklarację w nagłówku:
void funkcja( & int );

//tak powinno być i wtedy działa:
void funkcja( int & );
God why... Programowanie bywa okrutne x_x
P-71452
CodeMeister
» 2012-12-19 20:11:03
tak to jest jak się nie czyta błędów kompilatora ;)
P-71453
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2012-12-19 20:18:58
Czytałem ale za cholerę nie wiedziałem o co czopkowi chodzi!!! Te wykrzykniki nie do ciebie. Po prostu mam ochotę wywalić laptopa przez okno :D
Zresztą skąd miałem to wywnioskować?! Pokazało mi:

|31|error: expected identifier before '&' token|
|31|error: expected ',' or '...' before 'int'|
||=== Build finished: 2 errors, 0 warnings ===|
Jestem jeszcze za słaby w te klocki aby skojarzyć za każdym razem o co mu biega...
@edit
Dobra, na bok emocje... Co trzeba to już się dowiedziałem, więc należy chyba po bożemu zamknąć temat. Dzięki za pomoc :)
P-71454
CodeMeister
» 2012-12-19 20:22:47
Btw. radzę ci w deklaracji funkcji dopisywać nazwy zmiennych. Nie jest to konieczne i pewnie 'gorzej wygląda' ale może czasem ułatwić życie :)
P-71455
« 1 »
  Strona 1 z 1