Merak ediyorum. Bir problemi çarptım ve işte küçük bir repod. Esasen her şeyi iletmek istiyorum. Sorun, ilk < < kullanarak o<<1
(veya o<<SomeUserStruct()
ile bir hataya neden olur. I ikinci içeriyorsa ben bu konuda belirsiz olan hataları alırsınız. Bu kodu yazabilirim bir yolu var, bu yüzden aksi takdirde T&
kullanacaktır kullanan T
?Tüm sınıfı bir operatörle iletme
#include <iostream>
struct FowardIt{
template<typename T> FowardIt& operator<<(T&t) { std::cout<<t; return *this; }
//template<typename T> FowardIt& operator<<(T t) { std::cout<<t; return *this; }
};
struct SomeUserStruct{};
int main() {
FowardIt o;
o << "Hello";
int i=1;
o << i;
o << 1;
o << SomeUserStruct();
}
Mükemmel cevap. Ancak yöntem yapısını yaparsam, dönüş yapısını da yapmalıyım. Hangi mantıksız olurdu (düzenli akışlar için). –
@ acidzombie24: Evet. Bunu da ekledim! – Nawaz
Bu sorunun ne olduğu hakkında bir fikrin var mı? http://www.ideone.com/fWVG4 hex çalışır, bu yüzden fonksiyonların ilerlediğini biliyoruz. Ancak endl değil. –