Você está offline; aguardando reconexão

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

Você pode receber um "Erro C2593: ' operador << ' é ambíguo" mensagem de erro ao tentar passar uma variável __int64 para o operador ostream <<

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 168440
Sintomas
Se você tentar passar uma variável __int64 para o operador ostream <<, o seguinte erro:
Erro C2593: ' operador << ' é ambíguo
Causa
Não há nenhum operador << para tipo __int64 definido para a classe ostream.
Resolução
Definir sua própria versão do operador <<. Seção de código de exemplo a seguir mostra uma solução simples para << operador que converte a variável __int64 um char * digite e passa para o ostream << operador.
Situação
A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Esse problema foi corrigido no Microsoft Visual C++ .NET.
Mais Informações
O programa de exemplo a seguir demonstra o problema e a solução alternativa:
//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;}				

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 168440 - Última Revisão: 05/26/2005 21:44:31 - Revisão: 3.0

  • The Standard C++ Library
  • kbmt kbbug kbcrt kberrmsg kbfix kbnoupdate KB168440 KbMtpt
Comentários
id=1&t=">0&did=1&t=">agName('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?"> amp;t=">rotocol) + "//c.microsoft.com/ms.js'><\/script>"); ;t=">