Wpis z mikrobloga

#programowanie #cpp
Dobry wieczór. Chciałbym mieć vector structów więc zdeklarowałem go sobie w pliku *.h w taki sposób

private:
struct LadderStep {
Team& team;
unsigned int score;
};
std::vector teams;

Do konstruktora tej klasy przekazuję std::vector teams, lecz niestety nie mogę utworzyć struktury w konstruktorze.
Dlaczego? Jak najlepiej rozwiązać ten problem?
sokytsinolop - #programowanie #cpp
Dobry wieczór. Chciałbym mieć vector structów wię...

źródło: comment_AlTw4FgvZnGnJ3mZlc7eI4YvVkD9CYNU.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Saly: LadderStep to struct, Team to osobna klasa która ma w sumie tylko jedno pole (nazwa drużyny)
Klasa we wpisie to Ladder i do niej chce przekazać listę team i z tej listy zrobić listę structów typu (wskaźnik do obiektu team, unsigned int score)
  • Odpowiedz
@Saly: literówka, nie w tym problem. Dodałem sobie 2 vectory, jeden trzyma listę drużyn a drugi ich wyniki. Jednak wolałbym żeby to jednak był struct, a z tym z kolei mam problem taki jak opisałem w tym wątku
  • Odpowiedz
@sokytsinolop: Chodzi po prostu o to, że masz w klasie/strukturze referencję - ta nie może być niezainicjalizowana przez co masz, prawidłowo, usunięty domyślny konstruktor. Należy zrobić w tej strukturze konstruktor przynajmniej przyjmujący referencje do Team i przypisujący ją do składowej team w liście inicjalizującej konstruktora.
  • Odpowiedz