English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

在編譯的時候會出現錯誤訊息
no mach for std::basic_ostream
請問各位大大能幫小弟解惑嗎?
煩請點出錯誤所在及提供解決方式,謝謝!
編譯器指出的錯誤用註解標出!

#include
using namespace std;
void myprint(int b[],int);
void bobble(int c[],int);
int main(void)
{
int a[]={17,29,5,38,14};
int b[]={21,37,9,83,24};
int alength=sizeof(a)/sizeof(int);
int blength=sizeof(b)/sizeof(int);
int i,j,totallength;
cout << "The array \\"a\\" is " << myprint(a,alength) << endl; //問題出在這
cout << "The array \\"b\\" is " << myprint(b,blength) << endl; //問題出在這
for(i=0;i<=alength;i++)
{
j=6+i;
a[j]=b[i];
}
cout << "Add \\"b\\" after \\"a\\" is ";
totallength=alength+blength;
for(i=0;i<=totallength;i++)
cout << a[i] << " ";
bobble(a,totallength);
cout << "After process the array is " << myprint(a,totallength) << endl; //問題出在這
return 0;
}

void myprint(int b[],int j)
{
int i;
for(i=0;i<=j;i++)
cout << b[i] << " ";
}

void bobble(int c[],int size)
{
int i,j,temp,flag=0;
for(i=1;(i



c[j+1])
{
temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
flag=0;
}
}
}

2006-09-10 07:58:27 · 5 個解答 · 發問者 ? 1 in 電腦與網際網路 程式設計

那我該如何修改才能讓陣列回傳呢?

2006-09-10 13:06:43 · update #1

已經修改完成了,謝謝!

2006-09-11 10:30:47 · update #2

5 個解答

cout啊,可能是你的myprint跟本就沒有回傳值,所以c才會out不出什麼東西吧。

2006-09-10 10:15:23 · answer #1 · answered by ? 4 · 0 0

ASD大大,這個部份我修改好了,謝謝!

2006-09-10 13:14:38 · answer #2 · answered by ? 1 · 0 0

言歸正傳,就算cout那個部份修正完畢,執行時也不會得到正確結果,因為你合併排序法的寫法寫錯了,光是這兩行j=6+i;
a[j]=b[i];陣列就超出使用範圍了。

2006-09-10 10:51:07 · answer #3 · answered by Almond 6 · 0 0

小綿羊要乖乖吃草, 亂吃東西會拉肚子喔~~

2006-09-10 10:22:36 · answer #4 · answered by Rody 5 · 0 0

小綿羊想要吃鮪魚生魚片、鮪魚壽司、鮪魚鐵板燒

2006-09-10 08:53:25 · answer #5 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers