Я получил эту ошибку, когда использовал names
для печати строк, но ошибок не было, когда используется tempNames
.Незначительная ошибка при присваивании
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;
}
Какого *names
стал Rvalue тогда *tempNames
является именующим.
'* names' является именующим. Но вы не можете использовать 'names ++'. Вот в чем проблема. –
Что заставляет вас думать, что '* names' является rvalue? Можете ли вы опубликовать некоторый код для поддержки этого требования? –