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

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

上一篇:Leetcode 39 组合总和(回溯算法解题)


下一篇:组合总和 去重