Ho difficoltà a passare un array come argomento in int main()
con valori predefiniti. Per esempio:Passaggio di un array come parametro con valori predefiniti in int main()
int main(int a){}
funziona meravigliosamente. Come fa
int main(int a = 1){}
Passando int main()
un array funziona anche meravigliosamente:
int main(int a[3])
Tuttavia, la combinazione di questi due concetti sembra rompere:
int main(int a[1] = {0,1})
Dopo una quantità significativa di googleing, I non ho trovato una soluzione.
per favore aiutatemi QUINDI, siete la mia unica speranza!
EDIT
Lo scopo di questa, in breve, è quello di rendere il mio codice come poche righe più possibile, per una sfida il mio professore ha recentemente pubblicato (non per i punti - solo per l'apprendimento). L'assegnazione è quello di creare un programma ricorsivo "12-giorni-di-chirstmas"
Questo è il mio programma in corso
#include <iostream>
#include <string>
void p(std::string v){std::cout<<v;}
std::string v[13] = {"A Partridge in a Pear Tree.\n\n","2 Turtle Doves\n","3 French Hens\n","4 Colly Birds\n","5 Gold Rings\n","6 Geese-a-Laying\n","7 Swans-a-Swimming\n","8 Maids-a-Milking\n","9 Ladies Dancing\n","10 Lords-a-Leaping\n","11 Pipers Piping\n","12 Drummers Drumming\n",""};
int main(){
switch(v[12].length()){
case 12:system("pause"); return 0;
case 11:p(v[11]);
case 10:p(v[10]);
case 9: p(v[9]);
case 8: p(v[8]);
case 7: p(v[7]);
case 6: p(v[6]);
case 5: p(v[5]);
case 4: p(v[4]);
case 3: p(v[3]);
case 2: p(v[2]);
case 1: p(v[1]);
case 0: p(v[0]);
}v[12] += "0";
main();
}
vorrei passare nella matrice di versi come argomento principale, invece di dichiarandolo sopra la funzione. Lo so, non il maggior numero di ricordi/stack consci. Ma eliminerebbe una riga :)
Perché vuoi fai questo, e perché devi farlo per 'main'? –
Una funzione 'main()' che accetta solo un 'int' o un array non è una forma valida di' main() 'in C++ standard. Cosa stai cercando di fare qui? –
int a [1] è un singolo elemento in una matrice non una matrice di un elemento – Jordan