| re: Nested Vector Nester Classes are Nested in my Brain
Ok same question as before accept this temp trying to call member function
with from an index of the vector<TreeNode * > * myMoves
error ridden code:
myMoves[x]->makeChildren();
On Mon, 7 Nov 2005, Kai-Uwe Bux wrote:
[color=blue]
> Chad E. Dollins wrote:
>[color=green]
>>
>> Hello someone said that I should check this forum out for help to my c++
>> problems.
>>
>> I will admit at this point I may have really ran myself into the ground
>> with this code that I am writing, but I'm hoping for a little help from
>> you guys.
>>
>> I have a class that needs use of a bread-first search of a quareney tree.
>> In this class I have a nested class that should be the implementation of a
>> tree that contains two nested classes of its own. Those two classes are a
>> Position representation of cartestian coordinate with accessors and
>> modifiers and comparison methods. The other inner class is a treenode
>> class. This class holds several things, first of all a * to a vector of
>> TreeNode * that represent children nodes, A Position as its Payload, A *
>> to the parent TreeNode, and * pointer to a Maze object no mentioned above.
>>
>> So, my problem is that as I iterate over my children vector I would like
>> to access the payload members accessors of the current treenode in the
>> vector. Except I get this instead:
>> error: request for member `payload' in `
>> *(&p1)->__gnu_cxx::__normal_iterator<_Iterator,
>> _Container>::operator->
>> [with _Iterator = cs371p::prog::robowars4::Robot::Tree::TreeNode**,
>> _Container =
>> std::vector<cs371p::prog::robowars4::Robot::Tree:: TreeNode*,
>> std::allocator<cs371p::prog::robowars4::Robot::Tre e::TreeNode*> >]()',
>> which
>> is of non-class type `cs371p::prog::robowars4::Robot::Tree::TreeNode*'
>>
>> The line of code looks like this:
>> vector< TreeNode *>::iterator p1;
>> for(p1 = children->begin();p1 != children->end();++p1)
>> This LINE RIGHT HERE->>>> p1->payload->getX();[/color]
>
> Try
> (*p1)->payload->getX();
>
> Keep in mind: p1 is an iterator; *p1 is the element of the vector it
> designates; this element is itself a pointer pointing to some element that
> presumably has a member "payload".
>[color=green]
>>
>> Please, lemme know what you think any feed back is appreciated
>>
>> --Chad[/color]
>
>
> Best
>
> Kai-Uwe Bux
>[/color] |