Tengo dificultades para pasar una matriz como argumento en int main()
con valores predeterminados. Por ejemplo:Pasar una matriz como un parámetro con valores predeterminados en int main()
int main(int a){}
funciona de maravilla. Al igual que
int main(int a = 1){}
Pasando int main()
una matriz también funciona de maravilla:
int main(int a[3])
Sin embargo, la combinación de estos dos conceptos parece romper:
int main(int a[1] = {0,1})
Después de una cantidad significativa de googleing, me no he encontrado una solución.
por favor, ayúdame ¡ASÍ, eres mi única esperanza!
EDITAR
El propósito de esto, en definitiva, es hacer mi código como pequeñas líneas como sea posible, para un desafío a mi profesor ha publicado recientemente (no por puntos - sólo para el aprendizaje). La asignación es crear un recursiva programa "12-días-de-chirstmas"
Este es mi programa actual
#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();
}
me gustaría transmitir en el conjunto de versos como un argumento a principal en lugar de declarándolo por encima de la función. Lo sé, no es la mayor cantidad de memoria/pila consciente. Pero eliminaría una línea :)
¿Por qué quiere haz esto, y ¿por qué tienes que hacerlo a 'main'? –
Una función 'main()' tomando solo un 'int' o una matriz no es una forma válida de' main() 'en C++ estándar. ¿Qué está tratando de hacer aquí? –
int a [1] es un elemento único en una matriz, no una matriz de un elemento – Jordan