具有未在冒泡排序程序中声明的错误函数

having error function not declared in bubble-sort program

我在编译冒泡排序程序时遇到了一些问题,它给了我 错误:“bubblesort”未在此范围内声明 bubblesort(a,5);

#include<iostream>
using namespace std;
int main()
{
  int a[]={12,34,8,45,11};
  int i;
  bubblesort(a,5);
  for(i=0;i<=4;i++)
  cout<<a[i];
}

void bubblesort(int a[],int n)
{
  int round,i,temp;
  for(round=1;round<=n-1;round++)
  for(i=0;i<=n-1-round;i++)
  if(a[i]>a[i+1])
 {
   temp=a[i];
   a[i]=a[i+1];
   a[i+1]=temp;
  }
}

在 C++ 中,词法顺序很重要,即如果您使用一个名称,那么该名称必须至少在 使用之前声明。 (当然也可以先定义再使用)

所以你需要:

void bubblesort(int a[],int n); // declare

int main()
{
  // ...
  bubblesort(a,5);   // use
}

void bubblesort(int a[],int n)  // define
{
 // ...
}

void bubblesort(int a[],int n)  // define
{
 // ...
}

int main()
{
  // ...
  bubblesort(a,5);   // use
}