Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Naprawa ostrzeżeń


Rekomendowane odpowiedzi

Opublikowano

Witam.

Ostatnio usunąłem sobie wszystkie ostrzeżenia z game za pomocą tego poradnika: 

 

Kiedy wg. tego poradnika: 

Zniosłem limit stack wyskoczyły nowe warningi np:

shop_manager.cpp:299: warning: comparison between signed and unsigned integepressions

Dotyczy on tego fragmentu kodu:

if (bCount == 0 || bCount > item->GetCount())

Chciałbym się dowiedzieć czy lepiej likwidować tego typu warningi czy je ignorować? Jak naprawić ten fragment kodu by nie sypał warningiem. Z góry dziękuję ++

Opublikowano

zobacz jaki typ ma zmienna bCount i co jakiego typu zwraca metoda GetCount(), jedno jest ze znakiem a drugie bez znaku. Masz 2 drogi, albo w tym ifie zrzutujesz wartość np do bez znaku, albo przy zdefiniowaniu zmiennej bCount zmienisz na tak jak jest w GetCount().

Opublikowano

bCount mam w short... Mógłyś mi pokazać przykład jak to zrobic? Resztę dam sobie radę

 

Opublikowano
1 godzinę temu, NoName#2 napisał:

a GetCount w czym?

To jest niepotrzebne. Jedna zmienna jest w unsigned, a druga w signed. Najlepiej zrzutować obie na signed, bo wątpię by ilość była ujemna. Z resztą, jak ja bym miał się takimi pierdołami przejmować....

Opublikowano
49 minut temu, Lovable napisał:

To jest niepotrzebne. Jedna zmienna jest w unsigned, a druga w signed. Najlepiej zrzutować obie na signed, bo wątpię by ilość była ujemna. Z resztą, jak ja bym miał się takimi pierdołami przejmować....

Jak nie potrzebne, to co obie będziesz rzutował, jak już jedna jest? Po co robić coś nadmiarowo. Z resztą takie pierdoły Cie w końcu zaczną obchodzić.

Opublikowano

bCount jest w short a GetCount()... No właśnie nie wiem... Ale wydaje mi się że w DWORD... To jest chyba ten wycinek z item.cpp

DWORD CItem::GetCount()
{
    if (GetType() == ITEM_ELK) return MIN(m_dwCount, INT_MAX);
    else
    {
        return MIN(m_dwCount, ITEM_MAX_COUNT);
    }
}

 

Opublikowano
23 godziny temu, NoName#2 napisał:

Jak nie potrzebne, to co obie będziesz rzutował, jak już jedna jest? Po co robić coś nadmiarowo. Z resztą takie pierdoły Cie w końcu zaczną obchodzić.

Nadmiarowo to jest pytanie o typy zmiennych, gdy chodzi o rezerwację bitu dla znaku. Dla mnie logiczne jest to, że jedną ze zmiennych należy przerzucić do signed skoro druga już jest. 

Zaraz również użyjesz innego kompilatora nie gcc, a clang i już będziesz miał inne warningi. Dlatego uważam, że przejmowanie się takimi rzeczami - okej, ale zbędne.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...