저는 C++의 초보자이고 가장 큰 공통 요소를 찾는 프로그램을 작성하려고합니다.C++은 파일을 컴파일 할 수 없습니다.
#include <iostream>
#include <cstdlib>
#include "longgcd.cpp"
int main(int argc, char* argv[]){
long gcd(long m, long n);
long m,n,g;
m=atol(argv[1]);
n=atol(argv[2]);
g=gcd(m,n);
std::cout<<"gcd("<<m<<","<<n<<")="<<g<<std::endl;
return 0;
}
을하고 난
#include <iostream>
#include <cstdlib>
long gcd(long m, long n){
long r;
while(n !=0){
r=m%n;
m=n;
n=r;
}
return m;
}
어떻게 든 longgcd.cpp 컴파일 할 수 longgcd.cpp라는 다른 파일에 하위 기능을 넣어 : 주에 내가있다. 나는 오류가 발생 :
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [longgcd] Error 1
어떻게 든 내가 어려움이 프로그램을 실행하고 작동하기를, 나는 그것으로 무슨 잘못된 볼 수 없습니다. 도움이나 제안을 주셔서 감사합니다.
두 파일을 같은 파일에 넣고 컴파일 해 보았습니까? – sarsnake
코드를 더 잘 만들려면 몇 가지 요령이 필요합니다. 1) 인수에 액세스하기 전에 'argv'가 실제로 적어도 '3'인지 테스트 해보십시오. 2) 일반적으로 C++에서는 함수의 시작 부분이 아닌 초기화 된 시점에서 변수를 선언하는 것이 좋습니다. 이로 인해 코드가 더욱 긴장되고 성능이 더욱 향상 될 수 있습니다. – Grizzly