Tôi đang gặp khó khăn khi chuyển mảng thành đối số thành int main()
với giá trị mặc định. Ví dụ:Chuyển mảng thành tham số có giá trị mặc định vào int main()
int main(int a){}
hoạt động tuyệt vời. Cũng như
int main(int a = 1){}
Đi qua int main()
một mảng cũng làm việc tuyệt vời:
int main(int a[3])
Tuy nhiên, việc kết hợp hai khái niệm này dường như phá vỡ:
int main(int a[1] = {0,1})
Sau một số lượng đáng kể googleing, tôi đã không tìm thấy một giải pháp.
hãy giúp tôi SO, bạn là hy vọng duy nhất của tôi!
EDIT
Mục đích của việc này, trong ngắn hạn, là làm cho mã của tôi như dòng ít càng tốt, cho một thách thức giáo sư của tôi vừa ban hành (không cho điểm - chỉ dành riêng cho học tập). Việc chuyển nhượng là để tạo ra một chương trình đệ quy "12-ngày-of-chirstmas"
Đây là chương trình hiện tại của tôi
#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();
}
Tôi muốn vượt qua trong các mảng của câu thơ như một cuộc tranh cãi to main thay vì tuyên bố nó ở trên hàm. Tôi biết, không phải là bộ nhớ/ngăn xếp có ý thức nhất. Nhưng nó sẽ loại bỏ một dòng :)
Tại sao bạn muốn làm điều này, và tại sao bạn phải làm điều đó với 'main'? –
Một hàm 'main()' chỉ lấy một 'int' hoặc một mảng không phải là một dạng hợp lệ của' main() 'trong tiêu chuẩn C++. Bạn đang cố gắng làm gì ở đây? –
int [1] là một phần tử duy nhất trong mảng không phải là mảng của một phần tử – Jordan