본문 바로가기
컴퓨터/디버깅

too few arguments to function

by adnoctum 2010. 5. 18.


에러 메세지는 다음과 같다.

환경: GCC 4.1.2 20080704 (Red Hat 4.1.2-46) on CentOS 5.4

[adnoctum@bioism analysis_code]$ make
g++ -c analyse_path_corr2.cpp
/home/adnoctum/LJSLibrary/headers/NR_stat.h: In function ‘bool process(const std::string&, int&)’:
/home/adnoctum/LJSLibrary/headers/NR_stat.h:9: error: too few arguments to function ‘bool kstwo(const std::vector<double, std::allocator<double> >&, const std::vector<double, std::allocator<double> >&, double*, double*)
analyse_path_corr2.cpp:89: error: at this point in file
make: *** [analyse_path_corr2.o] Error 1

핵심은 kstwo 함수에 너무 적은 argument를 넘겼다는 것이다. 형태를 보면 kstwo 함수는 2개의 vector와 2개의 double* 를 parameter로 받는 것을 알 수 있다. 그런데 에러가 난 위치에서는

kstwo(crc_pcc, rsc_pcc, &ksp);

로 호출을 하고 있다. 즉, double* 형의 값이 하나 부족했던 것이다. 그래서 argument가 너무 적었다고 한 것이다.