C++中的函数匹配错误
Function Matching Error in C++
为什么 下面的代码给了我以下编译器错误:"找不到 eat()的匹配项"?
#include <iostream.h>
#include <conio.h>
void spit(char in[255])
{
cout << in;
}
void spit (int in)
{
cout << in;
}
int eat(int in)
{
cout << "? ";
cin >> in;
return in;
}
char* eat(char in[255])
{
cout << "? ";
cin >> in;
return in;
}
int main()
{
clrscr();
int input;
input = eat(); // <---- over here
spit(input);
getch();
return 0;
}
你需要传递一个参数才能吃
..
int input;
input = eat(123);
spit(input);
..
但是为什么函数吃/吐以char [255]
为参数呢?你不使用它
您的eat
函数需要一个参数。
您有两个eat()
重载。它们都需要一个参数。在调用参数时,应根据需要int
或char*
指定参数。或者创建一个不需要参数的新eat()
函数。
相关文章:
- 链接器错误:函数的多个定义
- 编译器错误:函数调用在常量表达式中必须有一个常量值
- 错误:函数声明符之后的预期函数体
- C 错误 - 函数不能超载
- 如何修复传递参数时调用错误函数的主函数?(C++)
- 错误:函数调用中有两个参数
- 错误:函数不是“类”的静态数据成员 - C++
- C ,G 编译错误函数
- CMake 解析错误函数缺少结尾")"。而是找到带有文本的未终止字符串")
- C++ 错误 函数 2 的多重定义
- 错误:函数调用中从int到int(*)[4]的转换无效
- C++14 自动扣除错误:函数返回一个数组
- 视觉C++错误:函数必须返回一个值
- 错误:函数声明中的两种或多种数据类型
- 错误:函数未在作用域中声明
- rtw_android.c错误:函数“strnicmp”的隐式声明[-Weror=隐式函数声明]
- 错误:函数中的return语句没有值,返回“void*”[-fpermission]
- 简单程序中的链接器错误:函数的多重定义
- 错误:函数参数太多
- 错误:函数__tmaincrtstartup中引用的未解析的外部符号_main