Alabileceğiniz bir "C2593 hata: ' işleci << ' belirsiz" bir __int64 değişkeni için ostream işletmen geçirmeye çalıştığınızda hata iletisi <<

Makale çevirileri Makale çevirileri
Makale numarası: 168440 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Belirtiler

Bir __int64 değişkeni ostream işleci için geçirilecek deneyin <<, aşağıdaki hatayı alıyorum:
Hata C2593: ' işleci << ' belirsiz

Neden

Hiçbir işleci olan << ostream sınıfı için tanımlanan __int64 türü.

Çözüm

Işletmen kendi sürümünüzü tanımlama <<. Basit bir çözüm için aşağıdaki örnek kod bölümünde gösterir << __int64 değişkeni için bir karakter dönüştüren bir işletmen * yazın ve bunu için ostream geçirmeden << işleci.

Durum

Microsoft bu durumun, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Bu sorun, Microsoft Visual C++ giderilmiştir .NET.

Daha fazla bilgi

Aşağıdaki örnek program sorun ve geçici çözüm gösterir:
//Sample.cpp
// Compiler Options : /GX

//#define WORKAROUND   //Uncomment this line to workaround

#include<iostream>
using namespace std;

#ifdef WORKAROUND
std::ostream& operator<<(std::ostream& os, __int64 i )
{
    char buf[20];
    sprintf(buf,"%I64d", i );
    os << buf;
    return os;
}

#endif

int main(){
__int64  i64;

cout << i64 ;

return 0;
}
				

Özellikler

Makale numarası: 168440 - Last Review: 26 Mayıs 2005 Perşembe - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • The Standard C++ Library, Ne zaman ne ile kullanilir:
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Anahtar Kelimeler: 
kbmt kbbug kbcrt kberrmsg kbfix kbnoupdate KB168440 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:168440

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com