Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
'operator' : ungültiger rechter Operand
Bemerkungen
Der rechte Operand, der verwendet operator wird, ist ungültig.
Beispielsweise wird dem Compiler möglicherweise eine Deklaration angezeigt, in der Sie einen Funktionsaufruf vorgesehen haben.
Example
Im folgenden Beispiel wird C2297 generiert:
// C2297.cpp
struct MyStruct {
struct Help {
Help(float f) : m_f(f) {}
float m_f;
};
MyStruct(const Help &h) : m_f(h.m_f) {}
MyStruct(float f) : m_f(f) {}
MyStruct operator*(const MyStruct &f1) const {
return MyStruct(m_f * f1.m_f);
}
private:
float m_f;
};
int main() {
float f1 = 1.0f;
MyStruct m_MyStruct1 ( MyStruct::Help( f1 ) );
// try the following line instead
// MyStruct m_MyStruct1 = MyStruct::Help( f1 );
MyStruct m_MyStruct2 ( MyStruct::Help( f1 ) );
// try the following line instead
// MyStruct m_MyStruct2 = MyStruct::Help( f1 );
MyStruct m_MyStruct3 = m_MyStruct1 * m_MyStruct2; // C2297
}