C++ çalışma sorusu – 34

C++11 standartlarına göre aşağıdaki C++ programı çalıştırıldığında bu programın çıktısı ne olur?

Sorunun yanıtı şu seçeneklerden biri de olabilir:
Sentaks hatası (derleme zamanı hatası)
Tanımsız davranış.
Derleyiciye göre değişir.

Cevabı buradan görebilirsiniz
Kodda bir sentaks hatası vardır.
çağrısı geçerli değildir. İşleve gönderilen 0 değeri int türdendir. Yukarıdaki işleve 0 tamsayı sabiti gönderildiğinde standart tür dönüşümü ile 0 değeri otomatik olarak nullptr değerine dönüştürülür.
Aşağıdaki işlevde ise int türden 0 değerinin unsigned int türüne dönüştürülmesi yine standart dönüşümdür. Her iki dönüşümün de kalitesi aynı olduğundan bu durum çift anlamlılık (ambiguity) hatasıdır.

Share

Necati Ergin

C ve Sistem Programcıları Derneğinde eğitmen olarak çalışıyor.

Bunlar da ilginizi çekebilir

Kod Eklemek İçin Okuyun
Eklemek istediğiniz kodları lütfen aşağıdaki “pre” kodları arasında yazınız.
<pre class="lang:c++ decode:true ">
--yazacağınız kodlar--
</pre>
(buradan kopyalayarak kullanabilirsiniz)