2016-04-09 48 views
-2

Bu benim ilk StackOverflow'um ve katılmaktan mutluluk duyuyor Şu anda C++ ile Stroustrup'un "C++ kullanarak Programlama ve Uygulama" eğitimi alıyorum ve şimdi de bir kitaplığı kullanıyorsanız için o (#include "std_lib_facilities.h")Hata: "İşleci için hiçbir eşleşme yok" (işlenen türler std :: istream)

ben bir egzersiz bitmiş oluşturulan ve bu hatayı "(işlenen türleri std vardır :: istream) 'operatörü < <' için herhangi bir eşleşme" var

Yazdığım program henüz mükemmel olmayabilir ama bu noktada bile derleyemiyorum, diğer yayınlarda "aşırı yüklenme operatörü" ile ilgili bir şey okudum ama ben anlaşılmadım d ne anlama geldiğini ve özellikle benim diğer dosyalarda neden aynı kitaplık yüklü olsa bile olmaz.

#include "../../std_lib_facilities.h" 

int main() 
{ 
    double val1 = 0; 
    double val2 = 0; 

    cin << val1 << val2 << endl; 

    if (val1>val2) 
     cout << val1 << " is larger than " << val2 <<endl; 
    else 
     cout << val1 << " is smaller than " << val2 <<endl; 

}

+0

'cin >> val1 >> val2;' ne istediğinizi yapmalıdır. –

+0

cin bir giriş akımıdır, bunun sonucunda ekleme (yazma) operatörü (** operatör << **) bunun için tanımlanmamıştır. Diğer yorumlardan da bahsedildiği gibi, giriş (get) operatörü (** operatör >> **) –

+0

ile giriş için cin kullanmışsınız. Bu yüzden derleyicimin "arkadaşın olduğunu" söylüyorum. Bu size "istream için << yoktur" diyor. Bu gerçekten yararlı bilgiler. Kitaba daha yakından bakın ve olması gerektiğini anlayın >>. (Onları cinsten değişkene, ya da değişkenden cout'a, oklarla aktaran bilgiyi düşünerek hatırlıyorum. –

cevap

1

Bir std::istream ve operator<< desteklemez std::cin ile operator>> kullanmalıdır.

std::cin >> val1 >> val2; 
+0

** std :: ostream ** olarak mı demek istediniz? –

+0

@bkVnet 'std :: cin'? Hayır "std :: istream" dir. – songyuanyao

+0

"Std :: istream olarak işletmeciyi << desteklemiyor" dediğinizde. ** std :: istream ** desteği ** operatör ** ** –

1

Sen ++ c girişi için >> operatörü kullanmalıdır. Bu, klavye ya da dosyalar gibi diğerlerinden değer elde etmek için kullanılan ekstraksiyon operatörü olarak adlandırılır. Sözdizimi:

int variableName; 

cout << "Enter number"; 
cin >> variableName; 

< < operatör ekran veya dosyalar üzerinde yazılı veriler için kullanılan sokma Operater olduğunu.

İlgili konular