Çözüldü GCC Derleme Hatası

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ı.

nebnebsen

Geliştirici
Geliştirici
Üye
Mesaj
454
Çözümler
23
Beğeni
113
Puan
509
Ticaret Puanı
0
Merhaba,

arena.cpp:
arena.cpp:83:89: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
   83 |                 if ((CArena*)(*iter)->CheckArea(startA_X, startA_Y, startB_X, startB_Y) == false)
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
gmake: *** [Makefile:115: OBJDIR/arena.o] Error 1
şöyle bir hata alıyorum.
İlgili kod blogu:
Kod:
if ((CArena*)(*iter)->CheckArea(startA_X, startA_Y, startB_X, startB_Y) == false)
Nasıl çözebilirim?
 
Çözüm
C++:
bool CArenaMap::AddArena(DWORD mapIdx, WORD startA_X, WORD startA_Y, WORD startB_X, WORD startB_Y)
{
    itertype(m_listArena) iter = m_listArena.begin();
    for (; iter != m_listArena.end(); iter++)
    {
        if ((*iter)->CheckArea(startA_X, startA_Y, startB_X, startB_Y) == false)
        {
            sys_log(0, "CArenaMap::AddArena - Same Start Position set. stA(%d, %d) stB(%d, %d)", startA_X, startA_Y, startB_X, startB_Y);
            return false;
        }
    }

    m_dwMapIndex = mapIdx;

    CArena* pArena = M2_NEW CArena(startA_X, startA_Y, startB_X, startB_Y);
    m_listArena.push_back(pArena);

    return true;
}
C++:
bool CArenaMap::AddArena(DWORD mapIdx, WORD startA_X, WORD startA_Y, WORD startB_X, WORD startB_Y)
{
    itertype(m_listArena) iter = m_listArena.begin();
    for (; iter != m_listArena.end(); iter++)
    {
        if ((*iter)->CheckArea(startA_X, startA_Y, startB_X, startB_Y) == false)
        {
            sys_log(0, "CArenaMap::AddArena - Same Start Position set. stA(%d, %d) stB(%d, %d)", startA_X, startA_Y, startB_X, startB_Y);
            return false;
        }
    }

    m_dwMapIndex = mapIdx;

    CArena* pArena = M2_NEW CArena(startA_X, startA_Y, startB_X, startB_Y);
    m_listArena.push_back(pArena);

    return true;
}
 
Çözüm
C++:
bool CArenaMap::AddArena(DWORD mapIdx, WORD startA_X, WORD startA_Y, WORD startB_X, WORD startB_Y)
{
    itertype(m_listArena) iter = m_listArena.begin();
    for (; iter != m_listArena.end(); iter++)
    {
        if ((*iter)->CheckArea(startA_X, startA_Y, startB_X, startB_Y) == false)
        {
            sys_log(0, "CArenaMap::AddArena - Same Start Position set. stA(%d, %d) stB(%d, %d)", startA_X, startA_Y, startB_X, startB_Y);
            return false;
        }
    }

    m_dwMapIndex = mapIdx;

    CArena* pArena = M2_NEW CArena(startA_X, startA_Y, startB_X, startB_Y);
    m_listArena.push_back(pArena);

    return true;
}
Teşekkürler.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst