用类和对象的知识编的冒泡法排序为什么不对!
#include<iostream>
using namespace std;
class number
{
public:
void set_shuru()
{
for(i=0;i<10;i++)
cin>>a[i];
    cout<<endl;
}
void show_shuchu()
{
for(i=0;i<10;i++)
cout<<a[i];
    cout<<endl;
}
private:
int a[10];
int i,j,t;
};
void main()
{
number n1;
   void set_shuru(number&);
   void set_shuchu(number&);
void k()
{
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
--------------------Configuration: cpp1 - Win32 Debug--------------------
Compiling...
cpp1.cpp
F:\weitao\hohoc++\cpp1.cpp(28) : error C2601: 'k' : local function definitions are illegal
F:\weitao\hohoc++\cpp1.cpp(38) : fatal error C1004: unexpected end of file found
Error executing cl.exe.cpp1.obj - 2 error(s), 0 warning(s)

解决方案 »

  1.   

    你的那个 void k() 是写在 main 里边还是外边呢
      

  2.   

    写在 main 里面会有错。MSDN 中的 C2601
    Error Message 
    'function' : local function definitions are illegal
    Code tries to define a function within a function.Or, there may be an extra brace in your source code before the location of the C2601 error.The following sample generates C2601:  Copy Code 
    // C2601.cpp
    int main() {
       int i = 0;   void funcname(int j) {   // C2601
          j++;
       }
    }
     
      

  3.   

    #include<iostream>
    using namespace std;class number
    {
    public:
    void set_shuru()
    {
    for(i=0;i<10;i++)
    cin>>a[i];
    cout<<endl;
    }
    void show_shuchu()
    {
    for(i=0;i<10;i++)
    cout<<a[i]<<" ";
    cout<<endl;
    }
    void k()
    {
    for(j=0;j<9;j++)
    for(i=0;i<9-j;i++)
    if(a[i]>a[i+1])
    {
    t=a[i];
    a[i]=a[i+1];
    a[i+1]=t;
    }
    }private:
    int a[10];
    int i,j,t;
    };void main()
    {
    number n1;
    n1.set_shuru ();
    n1.k();
    n1.show_shuchu ();
    }
    下次程序写规范一点,别把人看晕过去!~~~