Condividi tramite


Errore del compilatore C2594

'operator': conversioni ambigue da 'type1' a 'type2'

Osservazioni:

Nessuna conversione da type1 a type2 era più diretta di qualsiasi altra. Si consigliano due possibili soluzioni per la conversione da type1 a type2. La prima opzione consiste nel definire una conversione diretta da type1 a type2 e la seconda opzione consiste nel specificare una sequenza di conversioni da type1 a type2.

Esempio

L'esempio seguente genera l'errore C2594. La risoluzione suggerita per l'errore è una sequenza di conversioni:

// 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));
}