该如何解决类构造函数中含有string类参数的情况

问题遇到的现象和发生背景 string类作为其他类的构造函数参数
问题相关代码,请勿粘贴截图
#include<iostream>
#include<string>
using namespace std;
class Person
{
protected:
    string name;
    char sex;
public:
    Person() {};
    Person(string name, char sex)
    {
        this->name = name;
        this->sex = sex;
    }
    void print()
    {
        cout << "Name:" << name << ", " << "Sex:" << sex << endl;
    }
};
int main()
{
    Person person("ZhangSan", "M",);
    return 0;
}

运行结果及报错内容 没有与参数列表匹配的构造函数"Person::Person"实例
我的解答思路和尝试过的方法 把string name改成const string &name, char name[]等,都不行
我想要达到的结果 可以通过一串字符创建Person类的对象

一些分号和括号的错误


#include<iostream>
#include<string>
#include<iostream>
using namespace std;
class Person
{
protected:
    string name;
    char sex;
public:
    Person() {}
    Person(string name, char sex)
    {
        this->name = name;
        this->sex = sex;
    }
    void print()
    {
        cout << "Name:" << name << ", " << "Sex:" << sex << endl;
    }
};
int main()
{
    Person person("ZhangSan", 'M');
    person.print();
    return 0;
}