c++ - Why is vector<Data*>::iterator valid and vector<Data*>*::iterator not? -


i have these 3 related class members:

vector<frame*>* poolframes; vector<frame*>*::iterator frameiterator; vector<vector<frame*>::iterator>* poolframeiterators; 

when compile, gcc tells me

error: invalid use of ‘::’ error: expected ‘;’ before ‘frameiterator’

in reference middle line, define frameiterators. goes away when loose pointer vector , make vector::iterator. however, want them pointers. there special way define data type want, or need use vector::iterator , dereference?

i see trying do. you've defined poolframes pointer vector. want define frameiterator iterator poolframes. since poolframes pointer, think need special pointer-to-vector iterator, you're mistaken.

a vector iterator vector iterator vector iterator, no matter how managed refer vector in first place. need frameiterator simple iterator:

vector<data*>::iterator frameiterator; 

to assign value variable, you'll need dereference vector pointer, this:

frameiterator = poolframes->begin(); 

if poolframes vector instead of pointer vector, you'd use dot operator instead: poolframes.begin().


Comments

Popular posts from this blog

windows - Why does Vista not allow creation of shortcuts to "Programs" on a NonAdmin account? Not supposed to install apps from NonAdmin account? -

c++ - How do I get a multi line tooltip in MFC -

unit testing - How to mock PreferenceManager in Android? -