这是错误:
我不知道为什么这个奇怪的错误! “点”和“向量”是类的“ Droite3D”属性!
请帮助

    ******************************* Droite3D.h**************************



#ifndef DROITE3D_H
#define DROITE3D_H
#include<iostream>
#include<Point3D.h>
#include<Vecteur3D.h>``

class Droite3D
{
    Point3D Point;
    Vecteur3D Vecteur;

    public:

    Droite3D(Point3D p, Vecteur3D v){
        Point=p;
        Vecteur=v;
    }

    void afficher();
    void afficher ( ostream & out) const;
};


*************** Droite3D.cpp ****************

#include "Droite3D.h"
#include<iostream>

ostream & operator<< (ostream & out, const Droite3D &D)
{
    D.afficher (out);
    return out;
}
}

void afficher ( ostream & out) const{
    cout <<"\nc'est la droite definie par le point "<<Point<<" et le vecteur "<<Vecteur;

最佳答案

afficherDroite3D的成员,因此您需要将其定义放在该范围内:

void Droite3D::afficher ( ostream & out) const
{//  ^^^^^^^^^^
  out <<"\nc'est la droite definie par le point "
       <<Point<<" et le vecteur "<<Vecteur;
}


否则,您将定义一个非成员afficher,显然,该成员对PointVecteur一无所知。

请注意,您还想流式传输到out,而不是cout

关于c++ - 点未声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20934984/

10-09 02:52