搜尋

首頁  >  問答  >  主體

[C++ Error] no matching function for call to 'toupper(__gnu_cxx::__alloc_traits<std::allocator<std::basic_string<char> > >::value_type&)'

菜鸟一名,求助,百度了这段错误提示,可是没找到答案。请说简单一点,刚学c++没多久。谢谢

高洛峰高洛峰2804 天前1450

全部回覆(2)我來回復

  • ringa_lee

    ringa_lee2017-04-17 11:32:12

    錯誤訊息很明顯,沒這個函數。

    話說C++裡本來就沒有toupper(string)這麼個函數,C裡也沒有toupper(char *)這麼個函數。你只能一個字元一個字元的用toupper(char)。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 11:32:12

    我這裡看到的錯誤是

    toupper.cc: In function ‘int main()’:
    toupper.cc:17: error: cannot convert ‘std::basic_string<char, std::char_traits<char>, std::allocator<char> >’ to ‘int’ for argument ‘1’ to ‘int toupper(int)’
    

    http://www.cplusplus.com/reference/cctype/toupper/
    從這篇文件看來,toupper應該是C函數,只不過它接受的是int,題主傳的是string,所以not match了。

    回覆
    0
  • 取消回覆