Oto mój problem:Iterator dla wektora wskaźników nie dereferencing poprawnie
mam std::vector<AguiWidgetBase*>
który jest używany do śledzenia kontroli potomnych.
mam te dwie funkcje, aby powrócić iteratorów:
std::vector<AguiWidgetBase*>::const_iterator AguiWidgetBase::getChildBeginIterator() const
{
return children.begin();
}
std::vector<AguiWidgetBase*>::const_iterator AguiWidgetBase::getChildEndIterator() const
{
return children.end();
}
I następnie używać go tak:
for(std::vector<AguiWidgetBase*>::const_iterator it = box->getChildBeginIterator();
it != box->getChildEndIterator(); ++it)
{
it->setText("Hello World");
}
i otrzymuję te błędy:
Error 3 error C2039: 'setText' : is not a member of 'std::_Vector_const_iterator<_Ty,_Alloc>' c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\main.cpp 112
Error 2 error C2839: invalid return type 'AguiWidgetBase *const *' for overloaded 'operator ->' c:\users\josh\documents\visual studio 2008\projects\agui\alleg_5\main.cpp 112
Dlaczego jest to podając mi te błędy?
Dzięki
Jeśli Agui działa tak, jak większość innych frameworków GUI, to te widgety same się niszczą. Byłby to naprawdę zły pomysł, aby użyć 'shared_ptr'. Ale to zależy od Agui, cokolwiek to jest. –
Masz rację, one same się niszczą – jmasterx