共用方式為


編譯器錯誤 C2593

'operator identifier' 模棱兩可

備註

針對多載運算子定義了一個以上的可能運算符。

如果您在一或多個實際參數上使用明確轉換,可能會修正此錯誤。

範例

下列範例會產生 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 )
}

此錯誤可能是使用 CArchive 物件串行化浮點變數所造成。 編譯程式會將 << 運算子識別為模棱兩可。 唯一可以串行化的基本C++型 CArchive 別是固定大小型 BYTE別 、 WORDDWORDLONG。 所有整數類型都必須轉換成下列其中一種類型以進行串行化。 浮點類型必須使用成員函式封存 CArchive::Write()

下列範例示範如何將浮點變數封f存至封存 ar

ar.Write(&f, sizeof( float ));