方法需要多个参数?

时间:2013-02-09 20:21:09

标签: c++ methods arguments signature

所以,我无法像这样编译我的代码:

std::vector<std::string> split = split("A String Blah");  

使用此方法签名:

std::vector<std::string> split(const std::string& s)  

因为它说需要多个参数。为什么不只是一个字符串呢?

1 个答案:

答案 0 :(得分:6)

当你有这一行时:

std::vector<std::string> split = split("A String Blah"); 

C ++编译器认为右侧引用的split与左侧声明的split相同。结果,它给你一个错误,因为实际上std::vector<std::string>不是一个带有一个参数的函数。

要解决此问题,请考虑重命名变量:

std::vector<std::string> theSplit = split("A String Blah"); 

希望这有帮助!