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

Wskaźniki i tablica struktur

Ostatnio zmodyfikowano 2015-11-24 19:49
Autor Wiadomość
nats
Temat założony przez niniejszego użytkownika
Wskaźniki i tablica struktur
» 2015-11-24 18:37:23
Witam, mam problem z programem.
Mam zadeklarować wskaźnik na tablicę przechowującą struktury składające się z pary liczb
całkowitych. Próbowałam tego, ale niestety nie działa..


struct t{
int a;
int b;
};

t tab[n];

int *wsk;
wsk=tab;


Jaki jest problem? :(
P-140711
carlosmay
» 2015-11-24 19:00:06
C/C++
t tab[ n ];
 ta deklaracja tablicy jest nieprawidłowa. 'n' nie jest stałą 'const' oraz nie ma określonej wartości w czasie kompilacji.
Aby zadeklarować tablicę z możliwością wprowadzenia rozmiaru w trakcie trwania programu użyj dynamicznej alokacji pamięci new
albo skorzystaj  z kontenerów STL, np. std:vector
P-140713
michal11
» 2015-11-24 19:00:31
Tablica to tak naprawdę wskaźnik, jeżeli potrzebujesz wskaźnika na tablicę to oznacza wskaźnik na wskaźnik czyli
int ** wsk;

@up przecież w podanym kodzie nie ma deklaracji n skąd wiesz jakiego jest typu i czy nie jest akurat const ?
P-140714
nats
Temat założony przez niniejszego użytkownika
» 2015-11-24 19:15:42
n miało stałą wartość. Jednak nawet po zmianie na int **wsk; ciągle wyskakuje błąd "[Error] cannot convert 'main()::t [100]' to 'int**' in assignment"
P-140717
carlosmay
» 2015-11-24 19:20:12
Niezgodność typów:
C/C++
t * wsk;
wsk = tab;
P-140718
nats
Temat założony przez niniejszego użytkownika
» 2015-11-24 19:25:33
Czyli w sumie jak powinnam to zmienić, żeby te typy były zgodne?
P-140720
michal11
» 2015-11-24 19:27:15
Ok, według http://stackoverflow.com​/questions/10252837​/pointer-to-array-c wskaźnik na tablicę wygląda tak:
C/C++
int tab[ n ];
int( * wsk )[ n ] = & tab;
P-140722
Monika90
» 2015-11-24 19:27:28
masz wskaźnik do int (int*), a potrzebujesz wskaźnik do t, bo twoja struktura nazywa się t
P-140723
« 1 » 2
  Strona 1 z 2 Następna strona