C++ (对象)未在此范围内声明m_cPoint

C++ (对象)未在此范围内声明m_cPoint,c++,C++,我提出了一个课堂观点和一个课堂角色。然后我在我的角色类中将点用作对象。在我的character类中,我想在函数“moveCharacter”中设置point对象,但编译器给出了错误: character.cpp: In function 'void moveCharacter(double, double, double)': character.cpp:17:2: error: 'm_cPoint' was not declared in this scope m_cPoint.setPo

我提出了一个课堂观点和一个课堂角色。然后我在我的角色类中将点用作对象。在我的character类中,我想在函数“moveCharacter”中设置point对象,但编译器给出了错误:

character.cpp: In function 'void moveCharacter(double, double, double)':
character.cpp:17:2: error: 'm_cPoint' was not declared in this scope
  m_cPoint.setPoint(dX, dY, dZ);
  ^
h点:

#ifndef POINT_H
#define POINT_H

#include <iostream>

class Point
{
    public:

        Point(const double dX, const double dY, const double dZ);

        double getX() const { return this->m_dX; }
        double getY() const { return this->m_dY; }
        double getZ() const { return this->m_dZ; }

        void setPoint(const double dX, const double dY, const double dZ);

        friend std::ostream& operator<<(std::ostream &out, const Point &cPoint); 

    private:

        double m_dX, m_dY, m_dZ;

};

#endif
#如果不确定点(H)
#定义点
#包括
类点
{
公众:
点(常数双dX、常数双dY、常数双dZ);
double getX()常量{返回this->m_dX;}
double getY()常量{返回this->m_dY;}
double getZ()常量{返回this->m_dZ;}
无效设定点(常数双dX、常数双dY、常数双dZ);
friend std::ostream和操作员更改


这就是类成员变量的范围,而不是一个独立的函数

,并且可能修复
这个->m_cPoint.settpoint(dX,dY,dZ)
?哦,天哪……有时候怎么可能监督最简单的事情呢?谢谢!你不需要
这个->
#include "point.h"

Point::Point(const double dX, const double dY, const double dZ)
    : m_dX{dX}, m_dY{dY}, m_dZ{dZ}
{

}

std::ostream& operator<<(std::ostream &out, const Point &cPoint)
{
    out << "(" << cPoint.getX() << ", " << cPoint.getY() << ", " << cPoint.getZ() << ")";
    return out;
}

void Point::setPoint(const double dX, const double dY, const double dZ)
{   
    this->m_dX = dX;
    this->m_dY = dY; 
    this->m_dZ = dZ; 

}
#ifndef CHARACTER_H

#define CHARACTER_H

#include <iostream>
#include <string>

#include "point.h"

class Character
{
    public:

        Character(const std::string strName, const Point &cPoint);

        friend std::ostream& operator<<(std::ostream &out, const Character &cCharacter);

        std::string getName() const { return this->m_strName; }
        Point getLocation() const { return this->m_cPoint; }

        void moveCharacter(const double dX, const double dY, const double dZ);

    private:

        std::string m_strName;
        Point m_cPoint;

};

#endif
#include "character.h"

Character::Character(const std::string strName, const Point &cPoint)
    : m_strName{strName}, m_cPoint{cPoint}
{

}

std::ostream& operator<<(std::ostream &out, const Character &cCharacter)
{
    out << cCharacter.getName() << " is at location: " << cCharacter.getLocation();
    return out;
}

void moveCharacter(const double dX, const double dY, const double dZ)
{
    m_cPoint.setPoint(dX, dY, dZ);
}
void moveCharacter(const double dX, const double dY, const double dZ)
 void Character::moveCharacter(const double dX, const double dY, const double dZ)