怎样在类的一个对象中调用另一个对象?这样报错的原因是什么?

/*4. 建立一个复数类 Complex,要求
(1) 含两个私有数据成员:real, imaginary,float类型
(2)公有成员函数包括如下功能:
设置复数的两个私有成员
输出这个复数
与另一复数的加法函数 原型为 add (Complex c);
判断与另一复数是否相等isEqual(Complex c);
在main函数中,输入两个复数,判断两个复数是否相等
(实部和虚部要分别相等),
然后两者相加之和赋值给一个新的复数,并输出*/

#include <iostream>
using namespace std; 

class Complex{
    public:
        void getRI(float R,float I);     //设置复数的两个私有成员
        void output();                   //输出这个复数
        void add(Complex c);             //与另一复数的加法函数 原型为 add (Complex c);
        void isEqual(Complex c);         //判断与另一复数是否相等
    private:
        float real,imaginary;
};
void Complex::getRI(float R,float I){
    real=R;
    imaginary=I;
}
void Complex::output(){
    cout<<"此复数为:"<<real<<"+"<<imaginary<<"i"<<endl; 
}
void Complex::add(Comeplex c){
    cout<<"两复数相加为:";
    cout<<real+c.real<<"+"<<imaginary+c.imaginary<<"i"<<endl;
}
void Complex::isEqual(Comeplex c){
    if(real==c.real)
    {
        if(imaginary==c.imaginary)
            cout<<"They are equal."<<endl;
    }
    else
        cout<<"They are not equal."<<endl;
}
int main(int argc, char** argv) {
    Complex myComeplex,c;             //定义两个对象
    float R1,I1,R2,I2;
    cin>>R1>>I1;
    cin>>R2>>I2;
    myComplex.getRI(R1,I1);
    c.getRI(R2,I2);
    cout<<"复数myComplex为:";
    myComplex.output();
    cout<<"复数c为:";
    c.output();
    myComplex.add(Complex c);
    myComplex.isEqual(Complex c);
    return 0;
}

图片说明

首先,你的类名为Complex,但是有的参数类型的类名为Comeplex(类名不一致,多了个e),包括main函数中的Complex myComplex;也多了个e
请仔细检查所有类名是否一致!

其次,myComplex.add(Complex c);
函数调用的时候不用也不可以包含两类型名,应该写成myComplex.add(c);

#include <iostream>
using namespace std; 

class Complex{
    public:
        void getRI(float R,float I);     //设置复数的两个私有成员
        void output();                   //输出这个复数
        void add(Complex c);             //与另一复数的加法函数 原型为 add (Complex c);
        void isEqual(Complex c);         //判断与另一复数是否相等
    private:
        float real,imaginary;
};
void Complex::getRI(float R,float I){
    real=R;
    imaginary=I;
}
void Complex::output(){
    cout<<"此复数为:"<<real<<"+"<<imaginary<<"i"<<endl; 
}
void Complex::add(Complex c){
    cout<<"两复数相加为:";
    cout<<real+c.real<<"+"<<imaginary+c.imaginary<<"i"<<endl;
}
void Complex::isEqual(Complex c){
    if(real==c.real)
    {
        if(imaginary==c.imaginary)
            cout<<"They are equal."<<endl;
    }
    else
        cout<<"They are not equal."<<endl;
}
int main(int argc, char** argv) {
    Complex myComplex,c;             //定义两个对象
    float R1,I1,R2,I2;
    cin>>R1>>I1;
    cin>>R2>>I2;
    myComplex.getRI(R1,I1);
    c.getRI(R2,I2);
    cout<<"复数myComplex为:";
    myComplex.output();
    cout<<"复数c为:";
    c.output();
    myComplex.add(c);
    myComplex.isEqual(c);
    return 0;
}