이 내 코드이러한 유형의 함수 프로토 타이핑이 오류를 던지는 이유는 무엇입니까?
#include<iostream>
//#include<cmath>
double sqrt(double);
int main()
{
using namespace std;
cout << sqrt(16) << endl;
cin.get();
return 0;
}
난 단지 C로 탐구하고 ++ 및 가정 [C++ 프라이머, 리프만] 함수 프로토 타입의 형태가 작동해야합니다. 내가 주석 라인 double sqrt(double);
를 교체 할 경우 내 코드가 작동 #include<cmath>
그러나 다른 방법이 오류 던져 않는 이유 : 라이브러리 함수의
$ g++ so_c++1_FntnPrototype.cpp -lm
/tmp/cc45Ec4F.o: In function `main':
so_c++1_FntnPrototype.cpp:(.text+0x22): undefined reference to `sqrt(double)'
collect2: error: ld returned 1 exit status
"sqrt에 대한 정의되지 않은 참조"를 웹 기반 검색 엔진에 붙여 넣은 것으로 생각하십니까? – juanchopanza
'std :: sqrt'와'sqrt'는 다른 이름입니다. – BoBTFish
@BoBTFish 여기서 중요한 것은 없다고 생각합니다. – juanchopanza