Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Identifikátor operátoru je nejednoznačný.
Poznámky
Pro přetížený operátor je definován více než jeden možný operátor.
Tato chyba se může opravit, pokud použijete explicitní přetypování jednoho nebo více skutečných parametrů.
Příklady
Následující příklad vygeneruje C2593:
// C2593.cpp
struct A {};
struct B : A {};
struct X {};
struct D : B, X {};
void operator+( X, X );
void operator+( A, B );
D d;
int main() {
d + d; // C2593, D has an A, B, and X
(X)d + (X)d; // OK, uses operator+( X, X )
}
Tato chyba může být způsobena serializací proměnné s plovoucí desetinou čárkou pomocí objektu CArchive . Kompilátor identifikuje << operátor jako nejednoznačný. Jedinými primitivními typy C++, které CArchive lze serializovat, jsou typy BYTEs pevnou velikostí , WORD, DWORDa LONG. Všechny celočíselné typy musí být přetypován na jeden z těchto typů pro serializaci. Typy s plovoucí desetinou čárkou musí být archivovány pomocí CArchive::Write() členské funkce.
Následující příklad ukazuje, jak archivovat proměnnou s plovoucí desetinou čárkou (f) pro archivaci ar:
ar.Write(&f, sizeof( float ));