Problems trying to assign **varname to *varname[]. c++ -


in .h, have variable, texture ** skyboxtextures. assign texture pointers in 1 method, , use them right away:

texture *skt[] = {      tleft,     tright,     tfront,     tback,     tup,     tdown }; skyboxtextures = skt;  for(int = 0; < 6; i++) {     skyboxtextures[i]->load(); } 

then later in method try use textures again.

texture *skt[] = skyboxtextures;  // render front quad skyboxtextures[0]->activate(); 

this issue cannot access objects more. not compile because of error:

error c2440: 'initializing' : cannot convert 'texture **' 'texture *[]' 

if comment out line texture *skt[] = skyboxtextures;, invalid texture pointers.

then later in method try use textures again.

you cannot that. converting array pointer it's first element 1 way process. while array still array compiler has information size of array available @ compile time. once it's pointer, compiler no longer has information.

you either have reference skt itself, or not convert skyboxtextures array @ all. skyboxtextures[0]->activate(); should work expect.

if comment out line texture *skt[] = skyboxtextures;, invalid texture pointers.

my guess issue lies here:

texture *skt[] = {      tleft,     tright,     tfront,     tback,     tup,     tdown }; 

you must ensure tleft, tright, tfront, tback, tup, , tdown valid when use other array. if did allocated them on stack , returned skyboxtextures pointer method you'd have undefined behavior. you'll have put these on heap allocation.


Comments

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -