Yardım Client c++20 C2440 Error

  • Konuyu açan Konuyu açan Kaiser
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 337
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Kaiser

Admin
Admin
Geliştirici
Yardımsever Üye
Mesaj
4.416
Çözümler
442
Beğeni
5.050
Puan
2.849
Ticaret Puanı
0
Merhabalar, kenarda duran c++17 olan altyapı clienti c++20 ye yükseltirken ;

llkk.jpg


Hatalarını aldım. EterPythonLib projesi c++17 de sorunsuz derleniyor ama c++20 de patlıyor.

EterBase/Stl.h içindeki şu bloğu;
C++:
Genişlet Daralt Kopyala
template <typename T>
void DeleteListItem(std::list<T> * pList, T pItem)
{
    std::list<T>::iterator itor = pList->begin();
    for (; itor != pList->end(); ++itor)
    {
        if (pItem == *itor)
        {
            if (1 == pList->size())
            {
                pList->clear();
            }
            else
            {
                pList->erase(itor);
            }
            break;
        }
    }
}

Şu şekilde değiştirince bu sorun çıkıyor:
C++:
Genişlet Daralt Kopyala
template <typename T>
void DeleteListItem(std::list<T> * pList, T pItem)
{
    auto itor = pList->begin();
    for (; itor != pList->end(); ++itor)
    {
        if (pItem == *itor)
        {
            if (1 == pList->size())
            {
                pList->clear();
            }
            else
            {
                pList->erase(itor);
            }
            break;
        }
    }
}

Yardımcı olan herkese şimdiden teşekkürler.
 
Geri
Üst