Why not
Code:
struct blah
{
std::string item[5];
} mystruct;

for (int i = 0; i < 5; i++)
mystruct->item[i];
?
It IS possible to access each member of a struct not by its name, if all members are the same size and type, but that involves tricky memory manipulation and pointers.