Error: initial value of reference to non-const sein muss ein Wert

class A
{

public:

    int v;
    A * p;
    A& operator*(const A& a)
    {
        return this->v*a.v//here is a red line under this say error initial value of reference to non-const must be an value
    }
    ~A()
    {
        this;
    }
};

int main()
{
    A a;
    a.p = new A;
    delete a.p;
    return 0;

    system("pause");
    return 0;
}

überladen von operator * kann ich nicht verwenden, das zur Darstellung des Objekts an sich. Warum dies passiert ist.

  • Es ist ein binärer operator (multiplizieren) - nicht um einen pointer zu dereferenzieren.
  • Oh. ja. du hast Recht.
  • Ich danke Ihnen sehr.
InformationsquelleAutor Dongyu Li | 2015-10-07
Schreibe einen Kommentar