Kompilatorfel C2594

'operator': tvetydiga omvandlingar från "type1" till "type2"

Anmärkningar

Ingen konvertering från type1 till type2 var mer direkt än någon annan. Vi föreslår två möjliga lösningar för att konvertera från type1 till type2. Det första alternativet är att definiera en direkt konvertering från type1 till type2, och det andra alternativet är att ange en sekvens med konverteringar från typ1 till typ2.

Exempel

I följande exempel genereras C2594. Den föreslagna lösningen på felet är en sekvens med konverteringar:

// C2594.cpp
// compile with: /c
struct A{};
struct I1 : A {};
struct I2 : A {};
struct D : I1, I2 {};

A *f (D *p) {
   return (A*) (p);    // C2594

// try the following line instead
// return static_cast<A *>(static_cast<I1 *>(p));
}