我很难将数组作为参数传递给int main()
与默认值。
例如:
int main(int a){}
效果很好。一样
int main(int a = 1){}
Passing int main()
数组也能很好地工作:
int main(int a[3])
然而,将这两个概念结合起来似乎打破了:
int main(int a[1] = {0,1})
经过大量的谷歌搜索,我还没有找到解决办法。
请帮助我,你是我唯一的希望!
EDIT
简而言之,这样做的目的是使我的代码行数尽可能少,以应对我的教授最近提出的挑战(不是为了分数 - 只是为了学习)。作业是创建一个递归“圣诞节 12 天”程序
这是我当前的程序
#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();
}
我想将诗句数组作为参数传递给 main,而不是在函数上方声明它。我知道,不是最注重内存/堆栈的。但它会消除一行:)