I got this error when I used names to print the strings, but no errors when tempNames is used.
char* names[] = { "JIM",
"RAM",
"SAM",
0 };
int main(int argc, char *argv[])
{
char** tempNames = names ;
while(*names != 0)
std::cout << *names++ << std::endl ;
return 0;
}
How come *names became an rvalue whereas *tempNames is an lvalue.