добавьте вторую строку: (и #include "stdio.h")
char* current = new char[str.size() + 1];
strcpy(current , str.c_str());
(name + i) = current;
это должно работать.
Вы используете "int * items", его лучше использовать "int items ".я бы написал «имя [я]» вместо «* (имя + я)».и если вы знаете максимальный размер строк, которые вы хотите разрешить, если это n, вы можете написать:
for(int i=0; i<*items; i++)
{
cout << "Enter name #" << (i+1) << ": ";
name[i] = new char[n];
cin.getline( name[i] , n);
}