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);
stringToUpper (string 참조)이지만 선언은 stringToUpper (string)입니다 (참조 없음). 일치해야합니다 (stringToUpper (string &) 선언으로 변경). –
감사합니다 !! Mr.Anubis의 의견으로 해결했습니다 –