2

我遇到了一些我以前从未遇到过的错误,我该如何解决。我是否有某种形式的错误声明。

感谢大家的帮助!!

在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

已解决的问题:

解决方案是 at .h 文件

void stringToUpper(string&); 而不是 void stringToUpper(string);

4

1 回答 1

6

您忘记&了 的声明stringToUpper

于 2012-07-30T18:19:12.907 回答