Çözüldü GCC Derleme Hatası

  • Konuyu açan Konuyu açan nebnebsen
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 534
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
462
Çözümler
23
Beğeni
115
Puan
509
Ticaret Puanı
0
Merhaba,

arena.cpp:
Genişlet Daralt Kopyala
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:
Genişlet Daralt Kopyala
if ((CArena*)(*iter)->CheckArea(startA_X, startA_Y, startB_X, startB_Y) == false)
Nasıl çözebilirim?
 
Çözüm
C++:
Genişlet Daralt Kopyala
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++:
Genişlet Daralt Kopyala
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++:
Genişlet Daralt Kopyala
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ı.
Üst