Quelle est la quantité minimum de code pour créer un conteneur personnalisé qui fonctionnerait avec la macro Qt foreach?Condition de conteneur personnalisé pour travailler avec Qt's foreach
J'ai ce jusqu'à
template< class T >
class MyList
{
public:
class iterator
{
public:
};
class const_iterator
{
public:
inline iterator& operator++()
{
return *this;
}
};
};
et je reçois cette erreur du compilateur:
4>.\main.cpp(42) : error C2100: illegal indirection
4>.\main.cpp(42) : error C2440: 'initializing' : cannot convert from 'MyList<T>::const_iterator' to 'int'
4> with
4> [
4> T=int
4> ]
4> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
lorsque je tente de compiler ceci:
MyList<int> mylst;
foreach(int num, mylst)
qDebug() << num;
Notez que foreach crée une copie du récipient, ce n'est pas un gros problème car leurs classes implémentent copie à l'écriture, mais il pourrait être pour vous! –