Invalid arguments ' Candidates are: #1 transform(#0, #0, #1, #2) #2 transform(#0, #0, #1, #2, #3) '

string s1 = "hello world";
//函数的入口地址 函数对象 预定义的函数对象
transform(s1.begin(), s1.end(), s1.begin(), toupper);
cout << s1 << endl;

string s2 = "Hello World";
transform(s2.begin(), s2.end(), s2.begin(), tolower);
cout << s2 << endl;

在vs正常执行,在gcc报错:Invalid arguments ' Candidates are: #1 transform(#0, #0, #1, #2) #2 transform(#0, #0, #1, #2, #3) '

原因:vs调用的是algorithm文件中的transform方法,而gcc调用的是stl_algo.h里面的transform方法

posted @ 2019-09-04 17:44  江凌何以万里  阅读(435)  评论(0编辑  收藏  举报