出现 error C2064: 项不会计算为接受 1 个参数的函数,求解答,该怎么改

题目

img

这是我的代码:
我的代码最后Tom那里发生了错误,不知怎么改?

img

你的类中setName是一个char*类型的,不能这么赋值。
代码修改如下:

#include <iostream>
using namespace std;
class Student
{
private:
    int mScore;
    char* mName;
public:
    Student(char* n,int sc)
    {
        mName = new char[strlen(n+1)];
        memcpy(mName,n,strlen(n));
        mName[strlen(n)] = 0;
        mScore = sc;
    }
    Student(Student& ss)
    {
        mName = new char[strlen(ss.getName())+1];
        memcpy(mName,ss.getName(),strlen(ss.getName()));
        mName[strlen(ss.getName())] = 0;
        mScore = ss.getScore();
    }

    char* getName(){return mName;}
    int getScore(){return mScore;}
    void setName(char* name)
    {
        if(mName) 
            delete[] mName;
        mName = new char[strlen(name)+1];
        memcpy(mName,name,strlen(name));
        mName[strlen(name)] = 0;
    }
    void setScore(int s){mScore = s;}

    void print_info()
    {
        cout << "name:" << mName <<",score:"<<mScore<<endl;
    }

    ~Student()
    {
        if(mName)
        {
            delete[] mName;
            mName = 0;
        }
    }

};

int main()
{
    Student stu1("John",98);
    Student stu2(stu1);
    stu2.setName("Tom");
    stu1.print_info();
    stu2.print_info();
    return 0;
}

setName函数你没定义啊