Hatalar, hatalar, sorular - sayfa 1692

 

İçerikte aynı olan iki kaynak kodu farklı sayıda bayt kaplar (iki kez farklılık gösterirler).

Bir noktada bazı unicode sorunları varmış gibi görünüyor.

Genel olarak, büyük bir dosyanın yarısını nasıl alabilirim? Aynı zamanda, kaynak metnin değişmeden kalması için.

 
fxsaber :

İçerikte aynı olan iki kaynak kodu farklı sayıda bayt kaplar (iki kez farklılık gösterirler).

Bir noktada bazı unicode sorunları varmış gibi görünüyor.

Genel olarak, büyük bir dosyanın yarısını nasıl alabilirim? Aynı zamanda, kaynak metnin değişmeden kalması için.

Büyük bir dosyanın içeriğini Not Defteri'ne kopyaladım ve yeni bir dosyaya kaydettim. İki kat küçüldü.

Ve meta düzenleyiciyi "kalın" yaratmamaya nasıl zorlayabilirim?

 
fxsaber :

Ve meta düzenleyiciyi "kalın" yaratmamaya nasıl zorlayabilirim?

Mümkün değil. Her seferinde yeni bir boyut.
 
fxsaber :
İlk sen başlayacaksın. Hata YALNIZCA buradadır.Bundan önceki tüm aramalar sorunsuz geçer.

Ama bu gerçekten garip. Artı tarafta, üç aramada da bir hata var.

Bu başka bir operadan.

Hayır, hepsi aynı yerden. Hata ayıklayıcıdaki yöntem çağrılarına baktım: örneğinizdeki son çağrıyı yorumladım, her iki sınıf yönteminde de kesme noktaları belirledim ve hata ayıklamaya başladım. Kesme noktası, void func(const int&) yönteminden kaldırıldı, yani. derleyici bu yöntemi attı, böylece belirsizlik çözüldü. Ve bir işlevi sabit bir argümanla çağırırsanız, görünüşe göre, derleyici bir referansla yöntemi kaldırmaz ve sonuç olarak - çözülemez bir aşırı yük ... Bunun gibi bir şey. Her durumda, C++'da kodunuz yanlıştır.

 

Sergei Vladimirov :

Her durumda, C++'da kodunuz yanlıştır.

mql, bağlantıları olan ek çamurlara sahiptir. Her durumda, yukarıdaki koddaki davranışı sevmiyorum.

 void f( const int & x)
{}

void OnStart ()
{
   f( 5 ); // ошибка
}
 
Sergei Vladimirov :

Ama bu gerçekten garip. Artı tarafta, üç aramada da bir hata var.

Bu durumda, C ++ yönünde değişiklik olmasını hiç istemem.
 
Комбинатор :

mql, bağlantıları olan ek çamurlara sahiptir. Her durumda, yukarıdaki koddaki davranışı sevmiyorum.

 void f( const int & x)
{}

void OnStart ()
{
   f( 5 ); // ошибка
}
Burada hata doğru.
 
fxsaber :
Bu durumda, C ++ yönünde değişiklik olmasını hiç istemem.

Ama bu zaten holivarın tartışmalı bir sorusudur. Az önce sana "köpeğin ortalığı karıştırdığı yer" diye cevap verdim.

Bu arada, davranış C ++ 'dan farklı değil, sadece ilk iki çağrıyı bırakırsanız, derleyici işlevlerden birini atar, böylece belirsizlik ortadan kalkar. Ama yine de bir hatadır, derleyici tarafından otomatik olarak düzeltilir.

 
fxsaber :
Burada hata doğru.
Evet, ama benim anlayışıma göre hiç olmamalı)
 
Sergei Vladimirov :
Ama bu zaten holivarın tartışmalı bir sorusudur. :) Az önce "köpek nerede arandı" diye cevap verdim.

Orada gerçek bir köpek yok. Aşırı yükte öncelik, geliştiricilerin ilk iki çağrıda yaptığı gibi derleyicide ayarlanabilir.