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

[Allegro] Przesyłanie argumentów przez referencję

Ostatnio zmodyfikowano 2009-08-08 21:00
Autor Wiadomość
malan
Temat założony przez niniejszego użytkownika
[Allegro] Przesyłanie argumentów przez referencję
» 2009-08-08 20:46:41
Witam.

Mam taki oto plik:
C/C++
#ifndef xxx_hpp
#define xxx_hpp

#include <string>

//...

void NowyProfil( void );
void NowyProfil( std::string & nplog, std::string & nphaslo );

//...

#endif
 Wszystko byłoby ok gdyby kompilator nie wywalał mi:
[Linker error] undefined reference to `NowyProfil(std::string, std::string)'
 Dzieje się tak tylko kiedy próbuję przesłać argument przez referencję. W czym tkwi problem?

P-9227
DejaVu
» 2009-08-08 20:48:45
void NowyProfil( std::string & nplog, std::string & nphaslo );
To jest Deklaracja funkcji. Definicja funkcji nie uległa prawdopodobnie zmianom, a kompilator Ci krzyczy, że nie istnieje definicja funkcji odpowiadająca temu zapisowi. Dopisz w definicji funkcji również ampersand'y i będzie dobrze :)
P-9228
malan
Temat założony przez niniejszego użytkownika
» 2009-08-08 20:53:14
Właśnie o to chodzi, że nie... ;p.

Plik xxx.cpp wygląda tak:
C/C++
void NowyProfil( void )
{
    //...
};
void NowyProfil( std::string & nplog, std::string & nphaslo )
{
    //...
};
 Sprawdzałem to już kilka razy.
P-9229
DejaVu
» 2009-08-08 20:56:31
W takim razie zrób rebuild :)
P-9230
malan
Temat założony przez niniejszego użytkownika
» 2009-08-08 21:00:40
Znalazłem błąd- w wywołaniu tej funkcji. Kiedy zamieniłem:
C/C++
NowyProfil( nowy_login, nowe_haslo );
... na:
C/C++
NowyProfil( nowylogin, nowehaslo );
... działa :). Dziwne...
P-9231
« 1 »
  Strona 1 z 1