Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"operator" : felaktig operand till höger
Anmärkningar
Den högra operand som används med operator är ogiltig.
Kompilatorn kan till exempel se en deklaration där du avsåg ett funktionsanrop.
Example
I följande exempel genereras C2297:
// 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
}