关于#c++#的问题:请问这些代码为什么会在加上一个手机颜色的属性之后报错,该怎么修改#include <iostream>

请问这些代码为什么会在加上一个手机颜色的属性之后报错,该怎么修改

#include
using namespace std;
#include<string>
//类对象作为类成员


//手机类
class Phone
{
public:

    Phone(string pName,string pColor)
    {
        m_PName = pName;
        m_PColor = pColor;
    }
    //手机品牌
    string m_PName;
    string m_PColor;
       
};
class Person
{
public:
    Person(string name, string pName,string pColor) :m_Name(name), m_Phone(pName),m_Color(pColor)
    {

    }

    //姓名
    string m_Name;
    //手机
    Phone m_Phone;
    //颜色
    Phone m_Color;

};
void test01()
{
    Person p1("张三", "三星","red");
    cout << p1.m_Name << "的手机牌子是:" << p1.m_Phone.m_PName << endl;
    cout << p1.m_Name << "的手机颜色是:" << p1.m_Phone.m_PColor << endl;
}
int main()
{
    test01();
    system("pause");
    return 0;
}

img

Person类 修改如下:

class Person
{
    public:
        Person(string name, string pName,string pColor):m_Phone(pName, pColor),m_Name(name)
        {
       
        }

        string m_Name; // 姓名
    
        Phone m_Phone; // 手机
};

img


如有帮助,欢迎采纳哈!

在这里插入图片描述

本人的开源项目,欢迎star支持下!!!