Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Puede recibir un "error C2593: ' operador << ' es ambiguo" mensaje de error cuando intenta pasar una variable de __int64 al operador ostream <<

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 168440
Síntomas
Si intenta pasar una variable de __int64 al operador ostream <<, recibirá el siguiente error:
Error C2593: ' operador << ' es ambiguo
Causa
No hay ningún operador << para tipo __int64 definido para la clase ostream.
Solución
Definir su propia versión del operador <<. La sección de código de ejemplo siguiente muestra una solución sencilla para << operador que convierte la variable de __int64 a un char * escriba y lo pasa el ostream << operador.
Estado
Microsoft ha confirmado que se trata de un error de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Este problema se corrigió en Microsoft Visual C++ .NET.
Más información
El programa de ejemplo siguiente demuestra el problema y solución:
//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;}				

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 168440 - Última revisión: 05/26/2005 21:44:31 - Revisión: 3.0

The Standard C++ Library

  • kbmt kbbug kbcrt kberrmsg kbfix kbnoupdate KB168440 KbMtes
Comentarios
style="display:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">