Quindi il mio professore di CS ha dato a tutta la classe un compito semplice. "Scrivi una funzione ricorsiva che scambierà l'ordine di una sezione in un array di caratteri." Ho pensato tra me e me: "Facile, finisco questo in circa 5 minuti e mi metterò al lavoro sui miei compiti di Trig prima di partire."
Questo non è quello che è successo. Un'ora dopo, il professore e io ci stiamo chiedendo cosa diavolo stia sbagliando.
#include<iostream>
void swap(char charList, int start, int stop);
int main()
{
char myList[] = {'a', 'b', 'c', 'D', 'E', 'F', 'g', 'h', 'i', 'j'};
int size = 9;
printCharList(myList, size);
swap(myList, 3, 5); //<--- It doesn't seem to like this call
return 0;
}
void swap(char charList[], int start, int stop)
{
char temp
if(start < stop)
{
temp = charList[stop];
charList[start] = charList[stop];
charList[stop] = temp;
swap(charList, start+1, stop-1);
}
else
std::cout << "start > stop\n";
}
Il codice è stupidamente semplice, quindi puoi immaginare la mia confusione quando si è rifiutato di compilare. Continua a lanciare un messaggio di errore che suggerisce che sto cercando di convertire un puntatore in un char, ma sono quasi sicuro di non aver fatto nulla del genere. Sono sicuro che il problema è giusto davanti alla mia faccia, ma non ho avuto fortuna nel trovarlo. Potresti aiutare un ragazzo?