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
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:
#includekullanarak 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. “
Kod 2:
#includekullanarak 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:
#includekullanarak 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 “
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 “
“
Çö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.