struct tg
{
public:
char t;
char nt;
tg(){};
tg(char a,char b){nt=a;t=b;}
operator =(tg n)
{
t=n.t;
nt=n.nt;
}
};
编译的时候提示:error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
修改为
struct tg
{
public:
char t;
char nt;
tg(){};
tg(char a,char b){nt=a;t=b;}
void operator =(tg n)
{
t=n.t;
nt=n.nt;
}
};
或者
struct tg
{
public:
char t;
char nt;
tg(){};
tg(char a,char b){nt=a;t=b;}
int operator =(tg n)
{
t=n.t;
nt=n.nt;
return 0;
}
};
即可正常运行。
本文介绍了在C++编程中遇到的结构体赋值操作符重载错误,错误提示缺少类型说明符。通过两种修正方案,即使用void或int类型的方法,成功解决了编译问题,确保了结构体对象能够正确赋值。
4323

被折叠的 条评论
为什么被折叠?



