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方法