devxlogo

Vectors Containing Arrays

Vectors Containing Arrays

Question:
I’ve got a struct which is declared as having two fields:

int position;char tile-id[6];

When I use this in a vector, I can use the [] notation to initialise the position int OK and can then check this with a cout command, but when I do the same with the array it compiles OK but I can’t get it to print the contents onscreen.

The initialisation code fragments are:

Row1[0].position=1; cout Row1[0].tile_id="EEEEE";cout 

Answer:
Change the type of tile_id to std::string (remember to #include as well). std::string defines an overloaded version of operator=. Therefore, the second assignmnet will work as expected. Alternatively, if you prefer to retain the type of tile_id as an array of six chars, use the standard C function strcpy() instead of the assignment operator:

#include  strcpy(Row1[0].tile_id, "EEEEE");

devx-admin

Share the Post: