Mam trudności z przekazaniem tablicy jako argumentu do int main()
z wartościami domyślnymi. Na przykład:Przekazywanie tablicy jako parametru z domyślnymi wartościami do int main()
int main(int a){}
działa cudownie. Podobnie jak
int main(int a = 1){}
Przechodząc int main()
tablica działa również doskonale:
int main(int a[3])
jednak połączenie tych dwóch koncepcji wydaje zerwaniu:
int main(int a[1] = {0,1})
Po znacznej ilości googleing, że nie znalazłem rozwiązania.
Proszę, pomóż mi, więc jesteś moją jedyną nadzieją!
EDIT
Celem tego, w skrócie, jest, aby mój kod tak mało linii, jak to możliwe, na wyzwanie mój profesor niedawno wydane (nie dla punktów - tylko do nauki). Przypisanie jest stworzenie rekurencyjnego programu "12-days-of-chirstmas"
To jest mój obecny program
#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();
}
Chciałbym przekazać w tablicy wersów jako argument do głównej zamiast deklarowanie go nad funkcją. Wiem, nie najbardziej świadomi stosu/sterty. Ale wyeliminowałoby to linię :)
Dlaczego chcesz zrób to i dlaczego musisz to zrobić z 'main'? –
Funkcja 'main()' przyjmująca tylko 'int' lub tablicę nie jest poprawną formą' main() 'w standardowym C++. Co próbujesz tutaj zrobić? –
int a [1] jest pojedynczym elementem w tablicy, a nie tablicą jednego elementu. – Jordan