首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

transform(s.begin(), s.end(), s.begin(), tolower)异常

2013-08-04 
transform(s.begin(), s.end(), s.begin(), tolower)错误为了在google的chromium代码里面加些东西,自己在

transform(s.begin(), s.end(), s.begin(), tolower)错误
为了在google的chromium代码里面加些东西,自己在乱七八糟的添加代码,但是一编译,发现这么个奇怪的问题,报说(代码在webkit_glue.cc中):

引用std::transform(target1.begin(), target1.end(), target1.begin(), tolower);

没有能够找到对应的函数tolower, 也就是说tolower有歧义,这就有点奇怪了,但转念一想,估计是自己没有注意,在那个地方加入了<ctype>或者其他某个地方有<locale>,从而导致两者歧义了。

解决的方法也很简单,只需要指定一个即可,比如我们用 ::tolower 来代替 tolower.

哦,这个stackoverflow的帖子也有解释。

热点排行