为什么setfileinfo(char *name,int sz,int tp)中的sz,tp前面不用加‘&’,而getfileinfo要加?
为什么setfileinfo(char *name,int sz,int tp)中的sz,tp前面不用加‘&’,而getfileinfo(char *name,int &sz,int &tp)要加?
#include<iostream>
using namespace std;
#include<cstring>
class File
{
private:
char filename[64];
int size;
int type;
public:
void setfileinfo(char *name,int sz,int tp)
{
strcpy(filename,name);
size=sz;
type=tp;
}
void getfileinfo(char *name,int &sz,int &tp)
{
strcpy(name,filename);
sz=size;
tp=type;
}
};
void main()
{
File file;
char name[64];
int size,type;
file.setfileinfo("myfile",1000,1);
file.getfileinfo(name,size,type);
cout<<"file name: "<<name<<endl;
cout<<"file size: "<<size<<endl;
cout<<"file type: "<<type<<endl;
}
[解决办法]