- Mesaj
- 3.304
- Beğeni
- 3.026
- Puan
- 1.849
Merhabalar, kenarda duran c++17 olan altyapı clienti c++20 ye yükseltirken ;
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;
Şu şekilde değiştirince bu sorun çıkıyor:
Yardımcı olan herkese şimdiden teşekkürler.
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++:
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++:
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.