Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: Beginner
Aug 15, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Vectors Containing Arrays

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:

cout << Row1[0].position; // this works ok

Row1[0].tile_id="EEEEE"; cout << Row1[0].tile_id; this won't work

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:


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

DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date