Il codice mi sembra un pò strano, ma l'errore
che ti da è perchè hai scritto:

codice:
temp += str[i];
Cioè, cerchi di incrementare il puntatore temp del valore di un carattere

dovresti avere qualcosa di simile

codice:
temp[x] += str[i];