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

Problem z refernecją

Ostatnio zmodyfikowano 2012-08-21 09:02
Autor Wiadomość
Konradex
Temat założony przez niniejszego użytkownika
Problem z refernecją
» 2012-08-20 17:46:29
Witam otóż mam problem z referencją która jest aliasem ciągu tekstowego. Pracuje w Code::Block. W poniższym kodzie:
C/C++
#include <iostream>
#include <windows.h>
using namespace std;

int statystyki();
int main()
{
    int powiadomienie, i = 26, j = 0;
    char nick[ 26 ];
    cout << "Podaj swoj nick: ";
    cin.get( nick, 25 );
    system( "cls" );
    cout << nick;
    char( & rNick )[ 26 ] = nick;
    cout << endl << rNick;
   
}
int statystyki()
{
    cout << endl << rNick;
}
Występuje taki błąd:
error: 'rNick' was not declared in this scope|

Proszę o szybką pomoc w rozwiązaniu tego problemu.
P-63092
m4tx
» 2012-08-20 17:50:25
Nie deklarujesz nigdzie zmiennej rNick :)

C/C++
char( & rNick )[ 26 ] = nick;
Co to? :)

I btw. - » Kurs STC » Kolorowanie składniKolorowanie składni języka C++ lekcja
P-63093
Konradex
Temat założony przez niniejszego użytkownika
» 2012-08-20 17:53:56
A to tak to jak to by miało wyglądać, żeby działało w miarę normalnie. W funkcji main() niby to działa, ale w statystykach już error jest.
P-63094
m4tx
» 2012-08-20 17:56:11
Bo zmienna rNick jest w dostępna tylko w obrębie funkcji main(). Jeśli chcesz ją mieć w funkcji statystyki(), to albo dodaj ją jako argument do tej funkcji, albo zadeklaruj rNick jako zmienną globalną (nad definicją funkcji main()).
P-63095
Konradex
Temat założony przez niniejszego użytkownika
» 2012-08-20 18:22:31
Właśnie pisałem post, że mi się nie udaje i w tym momencie przypomniała mi się funkcja strcpy() dzięki której jak stworzyłem zamiast tej referencji tą zmienną globalną przypisałem jej bufer z nick'u :) Jak zwykle najprostrze rozwiązania przychodzą ostatnie :D

P-63096
DejaVu
» 2012-08-20 19:00:05
C/C++
char( & rNick )[ 26 ] = nick;
Założę się, że nie wiesz co ta linijka tak na prawdę robi :P Pojechałeś ostro po bandzie... poza tym poczytaj lepiej o funkcjach » Kurs C++ » Poziom 2Funkcje - pierwsze starcie lekcja.
P-63104
Konradex
Temat założony przez niniejszego użytkownika
» 2012-08-20 19:48:42
No tak teoretycznie wiem co ta linijka robi, ale w praktyce jak tego swobodnie używać to już gorzej. Efekt taki jaki chciałem osiągnąłem i chyba to się liczy :)
P-63113
Mrovqa
» 2012-08-20 20:00:36
Ta linijka to ustawienie referencji na tablicę, taki alias. Innymi słowy - masz dwie nazwy na jedną zmienną. Operuje się dokładnie tak samo. Jakbyś zobaczył zapis wskaźnika na funkcję (albo gorzej - metodę :P), to byłoby o wiele gorzej :P heh
P-63116
« 1 » 2
  Strona 1 z 2 Następna strona