VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 266|回复: 4

关于运算符重载,报错找不出来,要疯了!!

[复制链接]
26_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-10 16:23:52 | 显示全部楼层 |阅读模式
先上报错:
1>源.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CStudent::CStudent(void)" (??0CStudent@@QAE@XZ),该符号在函数 _main 中被引用
1>E:\c++daima\lianxi\Debug\lianxi.exe : fatal error LNK1120: 1 个无法解析的外部命令
以下是代码:
#include <iostream>
#include <cstring>
using namespace std;
class CStudent
{
public:
        char * p_name;
        int num;
        CStudent();
        CStudent(char* pname,int t_num);
        CStudent& operator=(const CStudent& stud);
        ~CStudent();
        };
CStudent::CStudent(char* pname,int t_num)//构造函数
{
        int len=strlen(pname)+1;
        p_name = new char[len];
        memset(p_name,0,len);
        strcpy_s(p_name,len,pname);
        num=t_num;
}

CStudent& CStudent::operator=(const CStudent& stud)//运算符重载
{
        if(p_name)
                {
                        delete [] p_name;
                        p_name=NULL;
        }
        int leng =strlen(stud.p_name)+1;
        if((leng-1)!=0)
                {
                        this->p_name=new char[leng];
                        memset(this->p_name,0,leng);
                        strcpy_s(this->p_name,leng,stud.p_name);
        }
        num = stud.num;
        return * this;
}
CStudent::~CStudent()//析构函数
{
        if(p_name!=NULL)
        {
                delete [] p_name;
        }
        cout<<"没有了"<<endl;
}
int main()
{
        CStudent stu1("asd",20);
        CStudent stu2;
        stu2 = stu1;
        return 0;
}




上一篇:这是编译器的问题吗?
下一篇:指针数组函数的调用有问题
01_avatar_middle
最佳答案
39 
online_admins 发表于 2019-10-10 16:31:40 | 显示全部楼层
报这个错误:public: __thiscall CStudent::CStudent(void) 函数链接错误。意思就是没有找到这个函数的定义。
所以也就是说没有找到,默认无参数构造函数的定义。
楼主当前的构造函数只有这个:CStudent::CStudent(char* pname,int t_num) 带参数的,没有不带参数的,添加一个就可以了
26_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-10 16:36:45 | 显示全部楼层
CStudent();这个不是不带参数构造函数吗
01_avatar_middle
最佳答案
39 
online_admins 发表于 2019-10-10 17:56:08 | 显示全部楼层
fyc444 发表于 2019-10-10 16:36
CStudent();这个不是不带参数构造函数吗

关键是他代码中只有声明,没有定义啊。。。所以会链接错误
26_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-10 20:56:01 | 显示全部楼层
好的,感谢!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-11-27 10:43

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表