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

Jak to możliwe ??? Bug w vs???

0 głosów
167 wizyt
pytanie zadane 9 września 2020 w C i C++ przez Poczprogramista123 Bywalec (2,900 p.)

Witam, proszę o wyjaśnienie mi tego bo po prostu nie wiem jak to jest możliwe.

Mam taki o to kod w jakiejś metodzie( couty pododawałem by zobrazować o co mi chodzi)

    const float a = m_current_position.y - getBounds().height;
    
    cout << a << " ";cout<< game_scen.getMarioPosition().y << endl;

    cout << a << " "<< game_scen.getMarioPosition().y << endl;
    
    if (game_scen.getMarioPosition().y > m_current_position.y - getBounds().height)
        cout << "Jakim cudem to sie nie wykonuje" << endl;

    if (game_scen.getMarioPosition().y > a)
        cout << "A to tak" << endl;

/// W konsoli wypisze mi to
/// 432 624.1
/// 432 1.09713e-06
/// A to tak

Jakim cudem są takie wyniki w konsoli. Dodam że ten sam kod w code blocksie działa poprawnie. Jak to możliwe że w visualu działa inaczej. Dziękuję za odpowiedzi. 

komentarz 9 września 2020 przez tangarr Mędrzec (155,180 p.)
Pokaż kod funkcji game_scen.getMarioPosition() oraz implementację typu, który zwraca.
komentarz 9 września 2020 przez Poczprogramista123 Bywalec (2,900 p.)

To ma jakieś znaczenie? Te linijki wykonują się w podanej kolejności.Czemu raz zwraca poprawnie raz nie. Czemu pierwszy if działa a drugi nie. 

const sf::Vector2f& CGameScen::getMarioPosition()const
{
    if(m_mario)
        return m_mario->getCurrentPosition();
    else
        return m_view.getCenter();
}

///-------

sf::Vector2f CMario::getCurrentPosition()const
{return m_current_position;}
komentarz 9 września 2020 przez tangarr Mędrzec (155,180 p.)

Problem leży w tym, że dwa kolejne wywołania funkcji getMarioPosition() dają inne wyniki

/// 432 624.1
/// 432 1.09713e-06
komentarz 9 września 2020 przez Poczprogramista123 Bywalec (2,900 p.)
Właśnie jak to jest możliwe. Fakt że zapis coutów jest inny ale co to ma do rzeczy.
komentarz 9 września 2020 przez tangarr Mędrzec (155,180 p.)
Kiedyś zdarzało mi się, że Visual Studio (2012 lub 2015 - nie pamiętam) czasami gubił się w kompilacji po modyfikacji plików źródłowych. W takiej sytuacji pomagało tylko wyczyszczenie plików budowania (opcja "clean all" lub ręczne usunięcie plików).

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
3 odpowiedzi 451 wizyt
pytanie zadane 18 sierpnia 2020 w Sprawy forum przez x_000 Obywatel (1,460 p.)
0 głosów
2 odpowiedzi 178 wizyt
pytanie zadane 15 sierpnia 2020 w C i C++ przez Tymodeusz Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 160 wizyt

93,424 zapytań

142,421 odpowiedzi

322,643 komentarzy

62,782 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...