Şablon parametreli derleyici hatası = void* - sayfa 10

 
Ilya Malev :
"Normal programcılar, bir çarpım tablosu gibi C++ operatör önceliğini hatırlar" konusuna gelince,
Hiç kimse böyle bir tezi dile getirmedi. Belgelerdeki yer imini kendim kullanıyorum
 
fxsaber :

Aynen öyle! Asla profesyonel değilim, bu tür uyarılar bana 100 kez yardımcı oldu.

Ben de profesyonel değilim, ancak bu tür uyarılar beni defalarca engelledi çünkü onlarca (ve bazen yüzlerce) bu tür ekstra uyarılar arasında gerçekten önemli ve gerekli olanlar kayboldu

Ve her yere parantez yerleştirirseniz hangi uyarılara sahip olabileceğiniz açık değil mi? Ve diğer durumlarla ilgiliyse, her şeyi tek bir yığında karıştırmanız gerekmez.

 
A100 :

Böylece bu kavram derleyicide uygulanabilir. Fazladan parantez koymayı kimse yasaklamaz. Ekstra uyarılar sorusu

Eh, stüdyoda seviyeye göre ayarlanır.

ve aslında, hiç kimse kodu derleyicinin hoşuna gidecek şekilde değiştirerek bu uyarıları kaldırma zahmetine girmez.

 
TheXpert :

Eh, stüdyoda seviyeye göre ayarlanır .

ve aslında, hiç kimse kodu derleyicinin hoşuna gidecek şekilde değiştirerek bu uyarıları kaldırma zahmetine girmez.

Yola çıkar, çünkü o zaman fazladan parantez görünür. Ama kimse bu işi sevenlere fazladan parantez açma zahmetinde bulunmaz ve en önemlisi herkese yakışırdı.

Bunun stüdyoda yapılandırılabilir olduğundan şüpheliyim - çünkü unutulmuş parantezler hakkında (en azından varsayılan olarak) gereksiz uyarılar yok, bu da hiçbir ayar öğesi olmadığı anlamına geliyor

 
A100 :

Ben umursamıyorum. Bu uyarıların eski/yeni MQL4'te kalmasına izin verin.

Bu yüzden önemli bir parçası olmaya devam ediyorlar

 void OnStart ()
 {
   int a= 0 ,b= 0 ,c= 0 ,d= 0 ,e= 0 ,f= 0 ;
  a=b|d/e^f|a^b&d^e%f|c;
 }

µl4'te her şeye küfreder, µl5'te yalnızca << ve >> işlemlerinde, bu oldukça mantıklıdır, çünkü aşırı yüklenmelerinin mantığı çoğu zaman öncelik atandıkları mantıktan çok farklı olacaktır. Bu uyarılar defalarca bana yardımcı oldu ya da en azından beni fazla rahatsız etmedi. Peki, && ve || kodunun mantığını belirleyen mantıksal işlemler. hangi iyilik için parantez ile sınırlandırılmalıdır ...

 
A100 :

Ben de profesyonel değilim, ancak bu tür uyarılar beni defalarca engelledi çünkü onlarca (ve bazen yüzlerce) bu tür ekstra uyarılar arasında gerçekten önemli ve gerekli olanlar kayboldu

Ve her yere parantez yerleştirirseniz hangi uyarılara sahip olabileceğiniz açık değil mi? Ve diğer durumlarla ilgiliyse, her şeyi karıştırmanıza gerek yok.

Genelde olan şey, bir durumu hızlı bir şekilde düzeltmeniz gerektiğidir. Örneğin, bir yerde && yazılması durumunda bir hata yaptım ama onu || ile değiştirmek gerekliydi. Düzeltildi ve F7'ye basıldı. Ve işte uyarı geliyor. Dikkatlice bakıyorum ve gerçekten de mevcut değişikliklerin sonucunun beklendiği gibi olmadığını görüyorum. Doğru - tüm kurallar. Onlar. derleyici mesajıyla çok yardımcı oldu.


Çok sayıda uyarınız varsa, kodu daha dikkatli yazın. Yoksa makineye bunun yanlış olduğunu kanıtlayarak onları temelden düzeltmiyor musunuz?

 
A100 :

Fazladan parantezler olduğu için araya giriyor. Ama kimse bu işi sevenlere fazladan parantez açma zahmetinde bulunmaz ve en önemlisi herkese yakışırdı.

Bunun stüdyoda yapılandırılabilir olduğundan şüpheliyim - çünkü unutulmuş parantezler hakkında (en azından varsayılan olarak) gereksiz uyarılar yok, bu da hiçbir ayar öğesi olmadığı anlamına geliyor

Tamamen katılıyorum. Kendine programcı dediği için, nazik ol, operasyonların önceliklerini öğret, en azından öyle olduklarını hatırla. Burada son zamanlarda robottan eklemesini istemişler yani init() ve start() da var ve bunu ne zaman yazdıkları sorulduğunda bir hafta önce cevaplamışlar. Yani hala bu "kodlayıcılar" var, ancak bu türler için fazladan uyarı bırakmamalısınız.

 
Vladimir Simakov :

Tamamen katılıyorum. Kendine programcı dediği için, nazik ol, operasyonların önceliklerini öğret, en azından öyle olduklarını hatırla. Burada son zamanlarda robottan eklemesini istemişler yani init() ve start() da var ve bunu ne zaman yazdıkları sorulduğunda bir hafta önce cevaplamışlar. Yani hala bu "kodlayıcılar" var, ancak bu türler için fazladan uyarı bırakmamalısınız.

Önceliklerin bilgisinin uyarılarla hiçbir ilgisi yoktur. Yavaş yavaş kod yazarım ve kendime programcı demem.

 
A100 :

Bunun stüdyoda kurulduğundan şüpheliyim

proje özelliklerindedir. Projelerden birinde kesin bir kuralımız vardı - bazı paranoyak W4 dahil olmak üzere yayın sürümlerinde tüm uyarıları düzeltin

https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level?view=vs-2017

bana gelince - ne kadar fazla uyarı olursa, en azından bir şekilde haklı çıkarlarsa ve kapatılabilirlerse o kadar iyidir

 
fxsaber :

Çok sayıda uyarınız varsa, kodu daha dikkatli yazın. Yoksa makineye bunun yanlış olduğunu kanıtlayarak onları temelden düzeltmiyor musunuz?

Çoğunlukla C++ uyumlu kod (ve hatta çoğu zaman tek bir dosya) kullanıyorum. C ++'da değiller ve burada daha önce belirtildiği gibi ekstra parantezler anlamayı zorlaştırıyor

Neden: