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

Referencja do argumentu będącego tablicą

Ostatnio zmodyfikowano 2015-03-20 12:14
Autor Wiadomość
piechny
Temat założony przez niniejszego użytkownika
Referencja do argumentu będącego tablicą
» 2015-03-20 11:52:18
Witajcie,

Potrzebuję referencji do argumentu funkcji, będącego tablicą.

Napisałem taki kod:

 int B[3];
 void test(int a,int b[3]){   
    int &d=a;       
    int (&c)[3]=B;
   
    int (&e)[3]=b;
 }

O ile kompilator pozwala na referencję do prostej wartości (czyli int &d=a)
czy też na referencję do tablicy globalnej (int (&c)[3]=B;),
to na referencje do argumentu będącego tablicą (int (&e)[3]=b;) już nie mogę
Pisze:  [Error] invalid initialization of reference of type 'int (&)[3]' from expression of type 'int*'


Potrzebuję innej nazwy tablicy b - jak zrobić tą referencję?
Jacek
P-128797
Monika90
» 2015-03-20 12:14:20
int (&e)[3]=b;
Taka inicjalizacja nie jest możliwa bo b to jest wskaźnik a nie tablica.

Możesz od razu przekazać tablicę przez referencję, zamiast przez wskaźnik do pierwszego elementu
C/C++
void test( int a, int( & b )[ 3 ] )
{
}
P-128798
« 1 »
  Strona 1 z 1