Fel: Odefinierad referens till Pow i C++

Fel Odefinierad Referens Till Pow I C



När du arbetar i programmeringsspråk måste de innehålla bibliotek, funktioner, syntax etc. Så det finns en risk för fel i våra program. Det finns olika fel av olika slag i C++-programmering. Här kommer vi att diskutera felet 'odefinierad referens till pow' i C++-programmering. Ibland verkar det som att 'pow inte deklarerades i detta omfång' och båda har samma betydelse. Det här felet uppstår när vi inte lägger till rubrikfilen i vår C++-kod eller så kanske vi inte kompilerar koden korrekt. Vi kommer också att utforska rubrikfilerna som hjälper till att ta bort det felet från vår C++-kod.

Löser den odefinierade referensen till Pow i C++

När vi tacklar det här felmeddelandet lägger vi helt enkelt till rubrikfilen i vår kod där funktionen 'pow()' deklareras. Detta tar bort felet från vår kod. Rubrikfilerna som används för funktionen 'pow()' är:

  • #include rubrikfil
  • #include huvudfil
  • #include rubrikfil

Här är några koder som visar hur det här felet uppstår och hur man åtgärdar detta fel i C++-programmering.







Exempel 1:

I vårt första exempel lägger vi till '#include '-huvudfilen som hjälper till att utföra inmatnings- och utdatauppgifterna. Sedan måste vi skriva 'using namespace std' efter denna rubrik. Detta hjälper till att förhindra förvirring som kan uppstå från två ID:n som delar samma namn.



Efter detta anropar vi funktionen 'int main()' här som används för att definiera starten på vår C++-kod. Nu, i den här funktionen, använder vi 'cout<<'-satsen som hjälper till att skriva ut den givna informationen på skärmen. '<< endl'-satsen används för att flytta vår pekare till den nya raden.



Efter detta används funktionen “pow()” där vi måste skicka två parametrar: bas och exponent. Här lägger vi till '10, 4', där '10' är bastalet och '4' är exponenten. I slutet av denna kod infogar vi ytterligare ett påstående som är 'retur 0'.





Kod 1:

#include
använder sig av namnutrymme std ;
int huvud ( ) {
cout << 'Strömfunktionen används här' ;
cout << endl << endl ;
cout << pow ( 10 , 4 ) ;
lämna tillbaka 0 ;
}

Produktion:
Efter att ha slutfört koden måste vi kompilera och köra den. När vi kompilerar den föregående koden visas felmeddelandet som säger 'pow deklarerades inte i detta omfång'. Det här felet visas eftersom vi inte har lagt till rubrikfilen där denna 'pow()'-funktion är deklarerad. För att lösa detta fel måste vi infoga någon av rubrikfilerna som vi nämnde tidigare.



Nu måste vi lösa detta fel för att få resultatet. För detta gjorde vi lite ändringar i koden. I samma kod lägger vi till '#include'-huvudfilen efter ''-huvudfilen. Detta hjälper till att ta bort felet i den tidigare koden eftersom 'pow()'-funktionen deklareras i den här rubrikfilen.

Uppdaterad kod 1:

#include
#inkludera
använder sig av namnutrymme std ;
int huvud ( ) {
cout << 'Strömfunktionen används här' ;
cout << endl << endl ;
cout << pow ( 10 , 4 ) ;
lämna tillbaka 0 ;
}

Produktion :
Denna uppdaterade kod är nu kompilerad och körs framgångsrikt, och vi får utdata från koden. Felet i den tidigare koden är nu borttaget och följande resultat visas efter kompilering:

Exempel 2:

Här har vi ett annat exempel i C++. Efter att ha lagt till ' ' och 'std' anropar vi nu 'main()'-funktionen. Inuti main() skriver vi helt enkelt ut en rad med hjälp av en 'cout'-sats. Sedan deklarerar vi tre variabler av heltalsdatatyp med namnet 'num, exp och resultat'. Efter detta initialiserar vi 'num' med '25' och 'exp' med '2'. Variabeln 'resultat' initieras med funktionen 'pow()' där 'num' och 'exp' skickas som de två parametrarna för denna funktion. Efter detta visar vi det effektresultatet med 'cout'.

Kod 2:

#include
använder sig av namnutrymme std ;
int huvud ( )
{
cout << 'Vi hittar kraften i ett nummer här i C++-programmering.' << endl << endl ;
int på ett, exp , resultat ;
på ett = 25 ;
exp = 2 ;
resultat = pow ( på ett, exp ) ;
cout << 'Siffrans kraft är = ' << resultat ;
cout << endl ;
lämna tillbaka 0 ;
}

Produktion :
Nu visar den här nya koden samma felmeddelande som föregående exempel. Anledningen är att det också är samma eftersom vi inte infogade rubrikfilen som vi kan få denna 'pow()'-funktion med.

Nu lägger vi till rubrikfilen till vår kod som är 'cmath'-huvudfilen. Denna rubrikfil används i C++-programmering för att få vår kods 'pow()'-funktion. Efter att ha lagt till rubrikfilen '#include' får vi den nödvändiga utmatningen av vår kod.

Exempel 3:

Nu har vi ytterligare ett exempel. Här, efter funktionen 'main()', deklarerar och initierar vi 'base_num' för 'long double' datatyp med '4.5'. Sedan deklarerar och initierar vi också 'expo_num' för datatypen 'heltal' med '-2'. Vi deklarerar också ytterligare en variabel av namnet 'result_1' som är av 'long double' datatyp.

Nu använder vi 'pow()'-funktionen för att initiera variabeln 'result_1' och skicka 'base_num' och 'expo_num' till denna funktion. Efter detta skriver vi ut resultatet med kommandot 'cout'. Nu deklarerar och initierar vi ytterligare två variabler, 'f_baseNum' och 'f_expoNum', med datatypen 'float'. Vi initialiserar dem med '-9.2' respektive '5'. Sedan deklarerar vi 'result_2' som en 'dubbel' datatyp. Vi initierar nu variabeln 'result_22' med metoden 'pow()' och skickar in 'f_baseNum' och 'f_expoNum'. Därefter använder vi kommandot 'cout' för att skriva ut resultatet.

Kod 3:

#include
använder sig av namnutrymme std ;
int huvud ( ) {
lång dubbel base_num = 4.5 ;
int expo_num = - 2 ;
lång dubbel resultat_1 ;
resultat_1 = pow ( base_num, expo_num ) ;
cout << 'Base_num här är i lång dubbel och expo_num är i heltalstyp' << endl << endl ;
cout << base_num << '^' << expo_num << ' = ' << resultat_1 << endl << endl ;
flyta f_basNum = - 9.2 , f_expoNum = 5 ;
dubbel resultat_2 ;
resultat_2 = pow ( f_basNum, f_expoNum ) ;
cout << 'F_baseNum här är flytande och f_expoNum är i dubbel typ' << endl << endl ;
cout << f_basNum << '^' << f_expoNum << ' = ' << resultat_2 ;
lämna tillbaka 0 ;
}

Produktion :
Efter att ha kompilerat den här koden får vi ett felmeddelande som säger att strömfunktionen inte deklarerades i detta omfång. Det betyder att vi missade rubrikfilen där denna funktion är deklarerad.

Felet är nu löst med hjälp av rubrikfilen ''. Den här gången använder vi rubrikfilen '#include ', eftersom den här rubrikfilen också hjälper till att lösa det felet.

Efter att ha placerat denna, följs koden framgångsrikt och vi får utdata från vår kod som också visas här.

Vi kan också få utdata med en annan rubrikfil, rubrikfilen ' '. Vi använder alla standardbibliotek i vår programmering med hjälp av denna header-fil.

Efter att ha lagt till ' ', får vi den utdata som krävs eftersom 'bits/stdc++.h>' innehåller alla standardbibliotek. Så, felet tas nu bort efter att det här biblioteket har lagts till i vår kod, och resultatet visas här.

Slutsats

I den här artikeln diskuteras också felet 'odefinierad referens till pow' eller 'pow deklarerades inte i detta omfång' i C++-programmering i detalj. Vi undersökte också sätten eller rubrikfilerna som hjälper till att ta bort felet för framgångsrik kodkompilering. Vi visade exemplen där vi visade felmeddelandet och resultatet av koden efter att ha tagit bort det felmeddelandet.