Je viens de mettre à jour une bibliothèque tierce appelée RogueWave que j'utilise pour les fonctions de base de données.Initialisation d'un itérateur en C++
Mais, je reçois une erreur de compilation vraiment stupide, et je ne suis pas tout à fait sûr de ce qu'il se plaint:
typedef std::set<EVBusCalOverride> OverrideSet;
OverrideSet overrides;
OverrideSet::iterator itor = this->overrides.begin();
while(itor != this->overrides.end())
Je reçois une erreur sur la ligne d'initialisation de iterator dire
An object or reference of type "std::set<EVBusCalOverride,std::less<EVBusCalOverride>,std::allocator<EVBusCalOverride> >::iterator"
cannot be initialized with an rvalue of type "std::_Tree<std::_Tset_traits<EVBusCalOverride,std::less<EVBusCalOverride>,std::allocator<EVBusCalOverride>,0> >::const_iterator".
Et EVBusCalOverride est juste une classe
class EVBusCalOverride
{
private:
RWDate overrideDate;
bool businessDay;
};
RWDate est une variable DateType que b s'allonge dans les bibliothèques RogueWave.
Je ne sais pas comment cela affecte l'initialisation de l'itérateur. Quelqu'un peut-il me diriger dans la bonne direction de ce qui pourrait causer cela?
http://kera.name/articles/2010/08/it-is-not-called-the-stl-mmkay/ – Griwes
article lien ci-dessus a pris une éternité à charger et puis est juste une critique de moi disant STL pour signifier le bibliothèque standard, bien que std :: set fasse définitivement partie de STL. – CashCow