您可能會收到一個"錯誤 C2593: '運算子 < <' 模稜兩可 」 當您嘗試將一個 __int64 變數傳遞至 ostream 運算子時,出現錯誤訊息 <

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:168440
徵狀
如果您嘗試將一個 __int64 變數傳遞至 ostream 運算子 < <,您收到下列錯誤:
錯誤 C2593: '運算子 < <' 模稜兩可
發生的原因
沒有任何運算子 < < __int64 ostream 類別定義的型別。
解決方案
定義您自己版本的運算子 <。下列的範例程式碼區段示範簡單的解決方案,如 < < 運算子將 __int64 變數轉換成 char * 輸入,並將其傳遞至 ostream < < 運算子。
狀況說明
Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。

這個問題已經獲得修正在 Microsoft Visual C++.NET。
其他相關資訊
下列範例程式示範問題和因應措施:
//Sample.cpp// Compiler Options : /GX//#define WORKAROUND   //Uncomment this line to workaround#include<iostream>using namespace std;#ifdef WORKAROUNDstd::ostream& operator<<(std::ostream& os, __int64 i ){    char buf[20];    sprintf(buf,"%I64d", i );    os << buf;    return os;}#endifint main(){__int64  i64;cout << i64 ;return 0;}				

警告:本文為自動翻譯

內容

文章識別碼:168440 - 最後檢閱時間:05/26/2005 21:44:31 - 修訂: 3.0

The Standard C++ Library

  • kbmt kbbug kbcrt kberrmsg kbfix kbnoupdate KB168440 KbMtzh
意見反應