C++에서 Pow에 대한 정의되지 않은 참조 해결
이 오류 메시지를 처리할 때 'pow()' 함수가 선언된 코드에 헤더 파일을 추가하기만 하면 됩니다. 그러면 코드에서 오류가 제거됩니다. 'pow()' 함수에 사용되는 헤더 파일은 다음과 같습니다.
- #include
헤더 파일 - #include
헤더 파일 - #include
헤더 파일
다음은 이 오류가 발생하는 방식과 C++ 프로그래밍에서 이 오류를 해결하는 방법을 보여주는 몇 가지 코드입니다.
예시 1:
첫 번째 예에서는 입력 및 출력 작업을 수행하는 데 도움이 되는 '#include
그런 다음 C++ 코드의 시작을 정의하는 데 사용되는 'int main()' 함수를 호출합니다. 이제 이 함수에서는 주어진 정보를 디스플레이 화면에 인쇄하는 데 도움이 되는 'cout<<' 문을 활용합니다. '<< endl' 문은 포인터를 새 줄로 이동하는 데 사용됩니다.
그런 다음 'pow()' 함수를 사용하여 두 개의 매개변수인 base와 exComponent를 전달해야 합니다. 여기서는 '10, 4'를 추가합니다. 여기서 '10'은 밑수이고 '4'는 지수입니다. 이 코드 끝에 'return 0'이라는 문을 하나 더 삽입합니다.
코드 1:
#include사용하여 네임스페이스 성병 ;
정수 기본 ( ) {
시합 << '여기서 전력 기능이 활용됩니다' ;
시합 << 끝 << 끝 ;
시합 << 펑 ( 10 , 4 ) ;
반품 0 ;
}
산출:
코드를 완성한 후에는 컴파일하고 실행해야 합니다. 이전 코드를 컴파일하면 “이 범위에서 pow가 선언되지 않았습니다”라는 오류 메시지가 나타납니다. 이 오류는 “pow()” 함수가 선언된 헤더 파일을 추가하지 않았기 때문에 발생합니다. 이 오류를 해결하려면 앞서 언급한 헤더 파일을 삽입해야 합니다.
이제 결과를 얻으려면 이 오류를 해결해야 합니다. 이를 위해 코드를 약간 변경했습니다. 동일한 코드에서 “” 헤더 파일 뒤에 “#include” 헤더 파일을 추가합니다. 이 헤더 파일에 'pow()' 함수가 선언되어 있으므로 이전 코드의 오류를 제거하는 데 도움이 됩니다.
업데이트된 코드 1:
#include#include
사용하여 네임스페이스 성병 ;
정수 기본 ( ) {
시합 << '여기서 전력 기능이 활용됩니다' ;
시합 << 끝 << 끝 ;
시합 << 펑 ( 10 , 4 ) ;
반품 0 ;
}
산출 :
이제 이 업데이트된 코드가 컴파일되어 성공적으로 실행되고 있으며 코드 출력을 얻습니다. 이제 이전 코드의 오류가 제거되었으며 컴파일 후 다음 결과가 나타납니다.
예 2:
여기에 C++의 또 다른 예가 있습니다. '
코드 2:
#include사용하여 네임스페이스 성병 ;
정수 기본 ( )
{
시합 << '우리는 C++ 프로그래밍에서 숫자의 힘을 찾고 있습니다.' << 끝 << 끝 ;
정수 하나에, 특급 , 결과 ;
하나에 = 25 ;
특급 = 2 ;
결과 = 펑 ( 하나에, 특급 ) ;
시합 << '숫자의 거듭제곱은 = ' << 결과 ;
시합 << 끝 ;
반품 0 ;
}
산출 :
이제 이 새 코드는 이전 예제와 동일한 오류 메시지를 표시합니다. 그 이유는 이 “pow()” 함수를 얻을 수 있는 헤더 파일을 삽입하지 않았기 때문에 역시 마찬가지이기 때문입니다.
이제 'cmath' 헤더 파일인 코드에 헤더 파일을 추가합니다. 이 헤더 파일은 C++ 프로그래밍에서 코드의 'pow()' 함수를 가져오는 데 사용됩니다. '#include' 헤더 파일을 추가한 후 필요한 코드 출력을 얻습니다.
예시 3:
이제 하나의 예가 더 있습니다. 여기서는 “main()” 함수 다음에 “long double” 데이터 유형의 “base_num”을 “4.5”로 선언하고 초기화합니다. 그런 다음 '정수' 데이터 유형의 'expo_num'도 '-2'로 선언하고 초기화합니다. 또한 'long double' 데이터 유형인 'result_1'이라는 이름의 변수를 하나 더 선언합니다.
이제 'pow()' 함수를 사용하여 'result_1' 변수를 초기화하고 'base_num' 및 'expo_num'을 이 함수에 전달합니다. 그런 다음 'cout' 명령을 사용하여 결과를 인쇄합니다. 이제 'float' 데이터 유형을 사용하여 'f_baseNum' 및 'f_expoNum'이라는 두 개의 추가 변수를 선언하고 초기화합니다. 각각 '-9.2'와 '5'로 초기화합니다. 그런 다음 'result_2'를 'double' 데이터 유형으로 선언합니다. 이제 'pow()' 메서드를 사용하여 'f_baseNum' 및 'f_expoNum'을 전달하여 'result_22' 변수를 초기화합니다. 다음으로 'cout' 명령을 사용하여 결과를 인쇄합니다.
코드 3:
#include사용하여 네임스페이스 성병 ;
정수 기본 ( ) {
긴 더블 기본_번호 = 4.5 ;
정수 expo_num = - 2 ;
긴 더블 결과_1 ;
결과_1 = 펑 ( 베이스_번호, 엑스포_번호 ) ;
시합 << '여기서 base_num은 long double이고 expo_num은 정수 유형입니다.' << 끝 << 끝 ;
시합 << 기본_번호 << '^' << expo_num << ' = ' << 결과_1 << 끝 << 끝 ;
뜨다 f_baseNum = - 9.2 , f_expoNum = 5 ;
더블 결과_2 ;
결과_2 = 펑 ( f_baseNum, f_expoNum ) ;
시합 << '여기서 f_baseNum은 float이고 f_expoNum은 double 유형입니다.' << 끝 << 끝 ;
시합 << f_baseNum << '^' << f_expoNum << ' = ' << 결과_2 ;
반품 0 ;
}
산출 :
이 코드를 컴파일한 후, 이 범위에서 power 함수가 선언되지 않았다는 오류 메시지가 나타납니다. 이는 이 함수가 선언된 헤더 파일을 놓쳤다는 의미입니다.
이제 '
이를 배치한 후 코드가 성공적으로 컴파일되고 여기에 표시된 코드의 출력을 얻습니다.
다른 헤더 파일인 '
'
결론
이 기사에서는 C++ 프로그래밍의 'pow에 대한 정의되지 않은 참조' 또는 '이 범위에서 pow가 선언되지 않았습니다' 오류에 대해서도 자세히 설명합니다. 또한 성공적인 코드 컴파일을 위해 오류를 제거하는 데 도움이 되는 방법이나 헤더 파일을 탐색했습니다. 우리는 오류 메시지와 해당 오류 메시지를 제거한 후 코드 결과를 보여주는 예를 시연했습니다.