我得到了一些我以前从未面对的错误,我该如何解决它。我做过某种形式的错误宣言。
感谢您的帮助!!
在currency.h文件
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]);
}
}
错误讯息:
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
解决问题:
解决方案是在.h文件
void stringToUpper(string&amp;);而不是void stringToUpper(string);
答案 0 :(得分:6)
您在&
的声明中忘记了stringToUpper
。