• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z dynamicznym alokowaniem wartości

0 głosów
63 wizyt
pytanie zadane 8 stycznia w C i C++ przez Nast Początkujący (270 p.)

Witam,

Mam problem z pobieraniem wartości zmiennej z innej klasy.

Klasa która pobiera Bullets
 
void Bullets::getIndex(int& _index) {
    _myIndexVar = _index;
   
}
 
Klasa z której pobieramy Player
 
 
Bullets* _bullet = nullptr;
Player::Player() : _currentGunIndex(1)
^^
Tak zainicjowałem wartości użyte poniżej
 
 
    if (_inputManager->isKeyPressed(SDLK_1) && _guns.size() >= 0) {
       
        _currentGunIndex = 0;
        _adressOfIndex = _currentGunIndex;
        _bullet->getIndex( _adressOfIndex);
}

Przy debugowaniu wywala mi problem  write access violation. this was nullptr przy  _myIndexVar = _index;

Wiem że jest problem w tym że w getIndex przypisuje zmienną do wartości nieokreślonej ale nie mam pojęcia jak rozwiązać ten problem próbowałem zmieniać te zmienne na wskaźniki aby bezpośrednio wskazywało na te wartości które są pobierane ale ciągle błąd wyskakiwał w tym samym momencie.

Błąd wydaje mi się że może także pojawiać się ponieważ Bullets* _bullet = nullptr; jest właśnie tak zainicjowane lecz nie mam także pojęcia jak zmienić wartość tego aby w poprawny sposób przypisać mu adres.

Z góry dziękuję za każdą radę

1 odpowiedź

0 głosów
odpowiedź 9 stycznia przez j23 VIP (100,480 p.)
edycja 9 stycznia przez j23
Bullets* _bullet = new Bullets; 

Zastanów się, czy _bullet  musi być tworzony na stercie.

 

Nie zaczynaj nazw od _, daj podkreślnik na końcu.

 

No i zamiast gołych wskaźników użyj std::unique_ptr lub, jeśli to tablica, std::vector.

Podobne pytania

+1 głos
2 odpowiedzi 391 wizyt
0 głosów
2 odpowiedzi 66 wizyt
0 głosów
2 odpowiedzi 60 wizyt
pytanie zadane 26 października 2016 w C i C++ przez Pac Plus Mądrala (5,530 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

63,304 zapytań

109,562 odpowiedzi

228,869 komentarzy

43,888 pasjonatów

Przeglądających: 76
Pasjonatów: 13 Gości: 63

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...