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

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

回答:

错误信息很明显,没这个函数。

话说C++里本来就没有toupper(string)这么个函数,C里也没有toupper(char *)这么个函数。你只能一个字符一个字符的用toupper(char)。

回答:

我这里看到的错误是

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了。

以上是 [C++ Error] no matching function for call to &#x27;toupper(__gnu_cxx::__alloc_traits&lt;std::allocator&lt;std::basic_string&lt;char&gt; &gt; &gt;::value_type&amp;)&#x27; 的全部内容, 来源链接: utcz.com/p/192400.html

回到顶部