Tworzenie struktury z tablicą, błąd kompilacji

0

Program w C++. Mam takie struktury w programie przed funkcją main:

struct s_int {
	int ilosc;
	int liczba;
};

struct s_kand {
	s_int sint[];   //tablica powyzszej struktury, ilosc jej elementow pobiore ze strumienia cin
	int k;
};

Niżej w kodzie chcę strukturę s_kand przypisać poprzez operator = i klamry, czyli tak jak jest w wielu tutorialach (z tym, że w tutkach zawsze pokazują przypisanie prostych typów, np, liczb):

int k;
cin >> k;
s_kand skand = {s_int[k], k};

Wydaje mi się, że powinno to zadziałać, bo jako pierwszy parametr po klamrze otwierającej podaję tablicę struktury s_int, a jako drugi parametr liczbę. Niestety tak mi się nie udaje zrobić bo wyskakuje mi błąd:

main.cpp:136:36: error: expected primary-expression before '[' token

Jak to poprawić, żebym mógł jednak zrobić to co zamierzam?

Edit: Potrzebuję w strukturze tablicy(!), nie wektorów czy innych rzeczy z STL'a.

1

Wykorzystaj std::vector.

1

Na temat odpowiadaj w postach.


Hm, dziwnie (w końcu mamy XXI plus piszesz w C++), no ale ok. Będziesz zatem miał `s_int* sint;`, a potem alokacja to `new int[rozmiar]`. Nie zapomnij o zwolnieniu tej pamięci pod koniec.

1 użytkowników online, w tym zalogowanych: 0, gości: 1