这是整个代码。
#include <iostream>
#include <cstring>
using namespace std;
enum poz {Vraboten,Direktor,Shef};
class Vraboten{
private:
char name[100];
int plata;
poz pozicija;
public:
Vraboten();
Vraboten(char *n,int p, poz pz)
{
strcpy(name,n);
plata=p;
pozicija=pz;
}
~Vraboten();
void setName (const char *n)
{strcpy(name,n);}
void setPlata (int p)
{plata=p;}
void setPozicija(poz pz)
{pozicija=pz;}
const char* getName(){return name;}
const int getPlata() {return plata;}
void getPozicija (){
switch(pozicija){
case 0:cout<<"Vraboten";
case 1:cout<<"Direktor";
case 2:cout<<"Shef";
default:cout<<"Invalid entery";
}}
};
void Sort(Vraboten emp[],int br);
int main()
{
Vraboten vrab[100];
char ime[100];
int payment,pozition;
int broj,i;
cout<<"Vnesi broj na vraboteni";
cin>>broj;
for(i=0;i<broj;i++)
{
cout<<"Vnesi ime na vraboten broj "<<i<<" ";
cin>>ime;
cout<<"Vnesi plata na vraboten broj "<<i<<" ";
cin>>paymen;
cout<<"Vnesi pozicija na vraboten broj "<<i<<" 0-Vraboten, 1-Direktro, 2-Shef";
cin<<pozition;
vrab[i].setName(ime);
vrab[i].setPlata(paymen);
vrab[i].setPozicija(poz(pozition));
}
Sort(vrab,broj);
for (int i = 0; i < n; i ++) {
cout << i + 1 << ". " << vrab [i]. getName () << "\t"
<< vrab [i]. getPlata () << "\t"
<< vrab [i]. getPozicija () << endl ;
}
}
void Sort(Vraboten emp[],int br)
{
int i,j;
Vraboten temp;
for(i=0;i<br;i++)
for(j=i;j<br;i++)
{
if(emp[i].getPlata()<emp[j].getPlata())
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
它给了我一个错误:字段'Sort'的变量声明为void,在第42行中,在main之前声明了Sort。我真的不知道这是什么意思?我正在等待快速回复。我知道这篇文章编辑得不是很好,但我没有太多时间,所以如果你知道回复的话。