Aracılığıyla paylaş


Derleyici Hatası C2594

'operator' : 'type1' ile 'type2' arasındaki belirsiz dönüştürmeler

Açıklamalar

Tür1'den tür2'yedönüştürme işlemi diğerlerinden daha doğrudan değildi. Tür1'den tür2'ye dönüştürmek için iki olası çözüm öneririz. İlk seçenek, tür1'den tür2'ye bir doğrudan dönüştürme tanımlamak ve ikinci seçenek de tür1'den tür2'ye bir dönüştürme dizisi belirtmektir.

Örnek

Aşağıdaki örnek C2594 oluşturur. Hata için önerilen çözüm bir dönüştürme dizisidir:

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