2012-07-30 2 views
2

이전에 결코 만난 적이없는 오류가 발생합니다. 어떻게 해결합니까? 제가 한 잘못된 선언이 있습니다.C++ .h & .cpp 파일 - 프로토 타입 오류

모든 도움에 감사드립니다 !!

CLEAN SUCCESSFUL (total time: 132ms) 
g++ -c -g -Wall -I/opt/local/include main.cpp -o main.o 
g++ -c -g -Wall -I/opt/local/include currencyConverter.cpp -o currencyConverter.o 
currencyConverter.cpp:25:6: error: prototype for ‘void currencyConverter::stringToUpper(std::string&)’ does not match any in class ‘currencyConverter’ 
currencyConverter.h:25:9: error: candidate is: void currencyConverter::stringToUpper(std::string) 
make: *** [currencyConverter.o] Error 1 

질문 해결 :

솔루션은

public: 
    currencyConverter(); 
    void stringToUpper(string); 
이 가 currency.cpp 파일 내 기능이

void currencyConverter::stringToUpper(string &s) 
{ 
    for(unsigned int l = 0; l < s.length(); l++) 
    { 
    s[l] = toupper(s[l]); 
    } 
} 

오류 메시지가

currency.h 파일에서

.h 파일에.

void stringToUpper (string &); void 대신 stringToUpper (string);

+0

stringToUpper (string 참조)이지만 선언은 stringToUpper (string)입니다 (참조 없음). 일치해야합니다 (stringToUpper (string &) 선언으로 변경). –

+0

감사합니다 !! Mr.Anubis의 의견으로 해결했습니다 –

답변

6

stringToUpper 선언에서 &을 잊어 버렸습니다.

+1

감사합니다 !! 나는 지금 성공적으로 추가하고 구축했다. 시간 제한에 도달하면 답변으로 표시됩니다. –