c++默认构造函数想不明白为什么报错

#include
using namespace std;

class Phone
{
public:

Phone(string pname)
{
    p_name = pname;
}
string p_name;

};
class Person
{
public:
Person(string name, string p_pname)
{
m_name = name;
m_phone = p_pname;
}

string m_name;
Phone m_phone;

};
void test01()
{
Person p("zahngsan", "x");
cout << p.m_name << p.m_phone.p_name << endl;
}
int main()
{

test01();
system("pause");
return 0;

}

Phone类你没写无参构造函数啊