该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C++ primer上的题目。我写的代码如下:
头文件:
using namespace std;
const int size=19;
class Plorg
{
private:
char name[size];
int ci;
public:
plorg();
plorg(char * a,int b);
void setplorg();
void show();
};
函数定义:
#include
#include"7-h.h"
Plorg::plorg()
{
strcpy(name,"Plorga");
ci=0;
}
Plorg::plorg(char * a,int b)
{
strcpy(name,a);
ci=b;
}
void Plorg::setplorg()
{
char setp[size];
int setc;
cout<
cin.getline(setp,size);
cout<
cin>>setc;
*this=plorg(setp,setc); //此处报错!!!!
}
void Plorg::show()
{
cout<
cout<
}
运行时报错 error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'int' (or there is no acceptable conversion)。
在网上找了些信息,很多都是说“=”没有重载,但貌似我这儿老无法解决这个问题。求各位高手帮帮忙。