2011-11-28 20 views
8

ZipStream kitaplığını derlemeye çalışıyorum, bu, zlib için effect ++ C++ sarmalayıcısıdır.Tek bir yineleyici türünden diğerine dönüştürülemez ancak ikisi de aynıdır

std::set<file_info_32*, sort_by_offset>::iterator first = _core->_entries_by_name.begin(); 
std::set<file_info_32*, sort_by_offset>::iterator last = _core->_entries_by_name.end(); 

hatalar şunlardır:

Hata 15 hata C2440: 'initializing':

Şu anda ben iki bu iki çizgi üzerinde derleme hataları alıyorum noktada değilim can
'std::_Tree_const_iterator<_Mytree>' 'std::_Tree_const_iterator<_Mytree>'
c den dönüştürmek: \ kullanıcılar \ ahakeem masaüstüne \ \ zipstream \ ziparchive.cpp 423 1 zipstream
Hata 16 hata C2440: 'initializing':
'std::_Tree_const_iterator<_Mytree>' c
'std::_Tree_const_iterator<_Mytree>' dönüştürmek olamaz: \ kullanıcılar \ ahakeem masaüstü \ zipstream \ ziparchive.cpp 1 zipstream

424 Böylece temelde derleyici değil diyor \ 'std::_Tree_const_iterator<_Mytree>' - 'std::_Tree_const_iterator<_Mytree>'

Dönüştürme hakkında herhangi bir fikriniz var mı?

düzenleme: ayrıca ben _core->entries_by_name.begin() onun yineleyici (std::set<file_info_32*, sort_by_offset>) atanacak çalıştığı şey ile açıkça tutarsız olduğu 'std::set<file_info_32*, sort_by_offset>', ilan olduğunu tespit ettik araştırdıktan sonra.

_core->_entries_by_offset.begin();'a geçiş yapılıyor çünkü _entries_by_offset, alıcının almayı beklediği türden bir tiptir.

Bu, birinin kodu kırmış, fark etmemiş ve kaynak repo dosyasına yüklediği anlamına mı geliyor? Ya da bu hatalı atama senaryosu aslında bazı sistemlerde derlenebilir mi?

+0

Hassasiyet sağlayın? Hatalı olmayan bir şey bulup bulamayacağınızı görün. –

+3

veya bunlar farklıdır. _Mytree's –

+0

@ K-ballo: İyi nokta! – ildjarn

cevap

4

En iyi tahminim, _MyTree için ikame edilen sınıflar farklıdır.

with _MyTree = SomeClass için, hataların hemen altındaki çıktınızda bir yere bakın.

İlgili konular