Hata: C++'da Pow'a Tanımsız Referans

Hata C Da Pow A Tanimsiz Referans



Programlama dillerinde çalışırken kütüphanelerin, fonksiyonların, sözdizimi vb. içermeleri gerekir. Dolayısıyla programlarımızda hata potansiyeli vardır. C++ programlamada farklı türden çeşitli hatalar vardır. Burada C++ programlamada “tanımsız referans to pow” hatasını ele alacağız. Bazen “pow bu kapsamda beyan edilmedi” şeklinde karşımıza çıkıyor ve her ikisi de aynı anlama geliyor. Bu hata, C++ kodumuza başlık dosyasını eklemediğimizde veya kodu doğru şekilde derleyemediğimizde ortaya çıkar. Ayrıca bu hatayı C++ kodumuzdan kaldırmaya yardımcı olacak başlık dosyalarını da inceleyeceğiz.

C++'da Pow'a Tanımsız Referansı Çözme

Bu hata mesajıyla uğraşırken kodumuza “pow()” fonksiyonunun bildirildiği başlık dosyasını eklememiz yeterlidir. Bu, kodumuzdaki hatayı ortadan kaldırır. “pow()” işlevi için kullanılan başlık dosyaları şunlardır:

  • #include başlık dosyası
  • #include başlık dosyası
  • #include başlık dosyası

İşte bu hatanın nasıl oluştuğunu ve C++ programlamada bu hatanın nasıl çözüleceğini gösterecek bazı kodlar.







Örnek 1:

İlk örneğimizde, giriş ve çıkış görevlerini gerçekleştirmeye yardımcı olan “#include ” başlık dosyasını ekliyoruz. Daha sonra bu başlıktan sonra “using namespace std” yazmamız gerekiyor. Bu, aynı adı paylaşan iki kimlikten kaynaklanabilecek karışıklığın önlenmesine yardımcı olur.



Daha sonra C++ kodumuzun başlangıcını tanımlamak için kullanılan “int main()” fonksiyonunu buraya çağırıyoruz. Şimdi bu fonksiyonda, verilen bilgilerin görüntü ekranına yazdırılmasına yardımcı olan “cout<<” ifadesini kullanıyoruz. İşaretçimizi yeni satıra kaydırmak için “<< endl” ifadesi kullanılır.



Bundan sonra iki parametreyi geçmemiz gereken “pow()” fonksiyonu kullanılıyor: taban ve üs. Burada “10”un taban sayısı ve “4”ün üs olduğu “10, 4”ü ekliyoruz. Bu kodun sonuna 'return 0' adında bir ifade daha ekliyoruz.





Kod 1:

#include
kullanarak ad alanı std ;
int ana ( ) {
cout << 'Burada güç fonksiyonu kullanılıyor' ;
cout << sonunda << sonunda ;
cout << güç ( 10 , 4 ) ;
geri dönmek 0 ;
}

Çıktı:
Kodu tamamladıktan sonra derleyip çalıştırmamız gerekiyor. Bir önceki kodu derlediğimizde “pow bu kapsamda bildirilmedi” hata mesajı çıkıyor. Bu hata, bu “pow()” fonksiyonunun bildirildiği başlık dosyasını eklemediğimiz için ortaya çıkıyor. Bu hatayı çözmek için daha önce bahsettiğimiz başlık dosyalarından herhangi birini eklememiz gerekiyor.



Şimdi sonuca ulaşabilmemiz için bu hatayı çözmemiz gerekiyor. Bunun için kodda ufak bir değişiklik yaptık. Aynı kodda “” başlık dosyasından sonra “#include” başlık dosyasını ekliyoruz. Bu, önceki koddaki hatayı ortadan kaldırmaya yardımcı olur çünkü bu başlık dosyasında “pow()” işlevi bildirilmiştir.

Güncellenmiş Kod 1:

#include
#include
kullanarak ad alanı std ;
int ana ( ) {
cout << 'Burada güç fonksiyonu kullanılıyor' ;
cout << sonunda << sonunda ;
cout << güç ( 10 , 4 ) ;
geri dönmek 0 ;
}

Çıktı :
Bu güncellenmiş kod artık derlendi ve başarıyla çalışıyor ve kodun çıktısını alıyoruz. Önceki kodun hatası artık ortadan kaldırılmıştır ve derleme sonrasında aşağıdaki sonuç görünür:

Örnek 2:

Burada C++'da başka bir örneğimiz var. “ ” ve “std”yi ekledikten sonra artık “main()” fonksiyonunu çağırıyoruz. Main()'ın içinde, 'cout' ifadesinin yardımıyla basitçe bir satır yazdırırız. Daha sonra tamsayı veri türünde “num, exp ve result” isimli üç değişken tanımlıyoruz. Bundan sonra “num”u “25”, “exp”yi ise “2” ile başlatıyoruz. “Result” değişkeni, bu fonksiyonun iki parametresi olarak “num” ve “exp”nin iletildiği “pow()” fonksiyonu ile başlatılır. Bundan sonra “cout” kullanarak o güç sonucunu görüntülüyoruz.

Kod 2:

#include
kullanarak ad alanı std ;
int ana ( )
{
cout << 'Burada C++ Programlamada bir sayının kuvvetini buluyoruz.' << sonunda << sonunda ;
int birde, tecrübe , sonuç ;
birde = 25 ;
tecrübe = 2 ;
sonuç = güç ( birde, tecrübe ) ;
cout << 'Sayının kuvveti =' << sonuç ;
cout << sonunda ;
geri dönmek 0 ;
}

Çıktı :
Artık bu yeni kod önceki örnekle aynı hata mesajını gösteriyor. Bunun nedeni de aynı olmasıdır, çünkü bu “pow()” fonksiyonunu alabileceğimiz başlık dosyasını eklemedik.

Şimdi başlık dosyasını “cmath” başlık dosyası olan kodumuza ekliyoruz. Bu başlık dosyası, C++ programlamasında kodumuzun “pow()” fonksiyonunu elde etmek için kullanılır. “#include” başlık dosyasını ekledikten sonra kodumuzun gerekli çıktısını alıyoruz.

Örnek 3:

Şimdi bir örneğimiz daha var. Burada “main()” fonksiyonundan sonra “long double” veri tipinin “base_num”unu “4.5” ile deklare edip ilklendiriyoruz. Daha sonra “integer” veri tipinin “expo_num”unu da “-2” ile deklare edip başlatıyoruz. Ayrıca “long double” veri türünde “result_1” adında bir değişken daha tanımlıyoruz.

Şimdi “result_1” değişkenini başlatmak için “pow()” fonksiyonunu kullanıyoruz ve bu fonksiyona “base_num” ve “expo_num”u aktarıyoruz. Bundan sonra “cout” komutunu kullanarak sonucu yazdırıyoruz. Şimdi “f_baseNum” ve “f_expoNum” adlı iki değişkeni daha “float” veri türüyle bildirip başlatıyoruz. Bunları sırasıyla “-9.2” ve “5” ile başlatıyoruz. Daha sonra “result_2”yi “double” veri türü olarak ilan ediyoruz. Şimdi “result_22” değişkenini “f_baseNum” ve “f_expoNum”u geçerek “pow()” yöntemini kullanarak başlatıyoruz. Daha sonra sonucu yazdırmak için “cout” komutunu kullanıyoruz.

Kod 3:

#include
kullanarak ad alanı std ;
int ana ( ) {
uzun çift taban_num = 4.5 ;
int fuar_num = - 2 ;
uzun çift sonuç_1 ;
sonuç_1 = güç ( temel_num, expo_num ) ;
cout << 'Buradaki temel_num long double biçimindedir ve expo_num tamsayı türündedir ' << sonunda << sonunda ;
cout << taban_num << '^' << fuar_num << ' = ' << sonuç_1 << sonunda << sonunda ;
batmadan yüzmek f_baseNum = - 9.2 , f_expoNum = 5 ;
çift sonuç_2 ;
sonuç_2 = güç ( f_baseNum, f_expoNum ) ;
cout << 'Buradaki f_baseNum kayan noktalı durumda ve f_expoNum çift tipte' << sonunda << sonunda ;
cout << f_baseNum << '^' << f_expoNum << ' = ' << sonuç_2 ;
geri dönmek 0 ;
}

Çıktı :
Bu kodu derledikten sonra güç fonksiyonunun bu kapsamda bildirilmediğini belirten bir hata mesajı alıyoruz. Bu, bu işlevin bildirildiği başlık dosyasını kaçırdığımız anlamına gelir.

Hata artık “” başlık dosyası kullanılarak çözülmüştür. Bu sefer “#include ” başlık dosyasını kullanıyoruz çünkü bu başlık dosyası aynı zamanda hatanın çözümüne de yardımcı oluyor.

Bunu yerleştirdikten sonra kod başarıyla yerine getirilmiş oluyor ve burada da gösterilen kodumuzun çıktısını alıyoruz.

Çıktıyı başka bir başlık dosyası olan “ ” başlık dosyasını kullanarak da alabiliriz. Bu başlık dosyası yardımıyla programlamamızda tüm standart kütüphanelerden faydalanıyoruz.

” ekledikten sonra gerekli çıktıyı alıyoruz çünkü “bits/stdc++.h>” her standart kütüphaneyi içeriyor. Yani artık bu kütüphaneyi kodumuza ekledikten sonra hata ortadan kalkıyor ve çıktı sonucu burada gösteriliyor.

Çözüm

Bu yazıda C++ programlamada “pow'a tanımsız başvuru” veya “pow bu kapsamda bildirilmedi” hatası da detaylı olarak ele alınmıştır. Başarılı kod derlemesi için hatanın giderilmesine yardımcı olacak yolları veya başlık dosyalarını da araştırdık. Hata mesajını ve o hata mesajını kaldırdıktan sonra kodun sonucunu gösterdiğimiz örnekleri gösterdik.