我正在尝试将一些重载函数链接在一起。这应该很简单,但我遇到了错误。这是代码:
void output(char c[])
{
output(c, 0);
}
void output(char c[], int x)
{
int l = strlen(c) - x;
output(c, x, l);
}
void output(char c[], int x, int y)
{
cout << c;
}
int main()
{
output("myname");
output("myname", 3);
output("myname", 2, 4);
}
我得到的错误与链接部分有关(output(c, 0);
和output(c, x, l);
。错误是:
"No matching function for call to 'output (char *&, int)'
"No matching function for call to 'output (char *&, int &, int &)'
解释我做错了什么也很好。