Çözüldü Kuşak sistemi warning

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

MEKA

Discord: mekaprojects
Süper Moderatör
Grafiker
Geliştirici
Yardımsever Üye
Mesaj
2.849
Çözümler
297
Beğeni
2.130
Puan
1.850
Ticaret Puanı
2
Aldığım warning comparison between signed and unsigned integer expressions

Warning verdiği kod bloğu bu şekilde
Kod:
Genişlet Daralt Kopyala
        if (GetGold() < dwPrice)
        {
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You don't have enough Yang."));
            return;
        }

Kod:
Genişlet Daralt Kopyala
DWORD CHARACTER::GetSashCombinePrice(long lGrade)
{
    DWORD dwPrice = 0;
    switch (lGrade)
    {
        case 2:
            {
                dwPrice = SASH_GRADE_2_PRICE;
            }
            break;
        case 3:
            {
                dwPrice = SASH_GRADE_3_PRICE;
            }
            break;
        case 4:
            {
                dwPrice = SASH_GRADE_4_PRICE;
            }
            break;
        default:
            {
                dwPrice = SASH_GRADE_1_PRICE;
            }
            break;
    }
   
    return dwPrice;
}
 
Çözüm
Yardımın için teşekkürler. Aynı warning ile karşılaşanlar için daha detaylıca yazdım.
Konu çözüldüğü için kapatıldı.

C++:
Genişlet Daralt Kopyala
DWORD CHARACTER::GetSashCombinePrice(long lGrade)
İçinde bul
C++:
Genişlet Daralt Kopyala
    DWORD dwPrice = 0;
Değiştir
C++:
Genişlet Daralt Kopyala
    int dwPrice = 0;

C++:
Genişlet Daralt Kopyala
void CHARACTER::RefineSashMaterials()
İçinde bul
C++:
Genişlet Daralt Kopyala
    DWORD dwPrice = GetSashCombinePrice(pkItemMaterial[0]->GetValue(SASH_GRADE_VALUE_FIELD));
Değiştir
Kod:
Genişlet Daralt Kopyala
    int dwPrice = GetSashCombinePrice(pkItemMaterial[0]->GetValue(SASH_GRADE_VALUE_FIELD));

C++:
Genişlet Daralt Kopyala
void CHARACTER::RemoveSashMaterial(BYTE bPos)
İçinde bul
C++:
Genişlet Daralt Kopyala
    DWORD dwPrice = 0;
Değiştir
C++:
Genişlet Daralt Kopyala
    int dwPrice = 0;
Bu kodların bulunduğu dosyaların ismi nedir? Bendekiyle karşılaştırayım bir
 
char.cpp dosyasında en alta ekle denilen kod bloğunun içinde. Sorunsuz build gerçekleşiyorda warning görünce çözmeden o sisteme devam etmiyorum :D
 
Warningler kapalı olduğundan doğal olarak ben görmedim bu uyarıyı, o yüzden kontrol ettim de şimdi, bendeki bloklarda aynı birebir. Belki farklıdır, işe yarar bir şey çıkar diye umut ettim ama maalesef :(
 
Dword = unsigned int

GetGold() = int (signed int)

C:
Genişlet Daralt Kopyala
// Ara
DWORD dwPrice
// Değiştir

int dwPrice
 
Yardımın için teşekkürler. Aynı warning ile karşılaşanlar için daha detaylıca yazdım.
Konu çözüldüğü için kapatıldı.

C++:
Genişlet Daralt Kopyala
DWORD CHARACTER::GetSashCombinePrice(long lGrade)
İçinde bul
C++:
Genişlet Daralt Kopyala
    DWORD dwPrice = 0;
Değiştir
C++:
Genişlet Daralt Kopyala
    int dwPrice = 0;

C++:
Genişlet Daralt Kopyala
void CHARACTER::RefineSashMaterials()
İçinde bul
C++:
Genişlet Daralt Kopyala
    DWORD dwPrice = GetSashCombinePrice(pkItemMaterial[0]->GetValue(SASH_GRADE_VALUE_FIELD));
Değiştir
Kod:
Genişlet Daralt Kopyala
    int dwPrice = GetSashCombinePrice(pkItemMaterial[0]->GetValue(SASH_GRADE_VALUE_FIELD));

C++:
Genişlet Daralt Kopyala
void CHARACTER::RemoveSashMaterial(BYTE bPos)
İçinde bul
C++:
Genişlet Daralt Kopyala
    DWORD dwPrice = 0;
Değiştir
C++:
Genişlet Daralt Kopyala
    int dwPrice = 0;
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst