我有一个简单的c ++程序,它具有返回字符串的功能。
#include <iostream>
#include <string>
using namespace std;
int main(){
/// Some Code;
string text= converter (i);
/// Some more code
}
string converter(int number)
{
switch (number) {
case 1:
return "one";
break;
case 2:
return "two";
break;
default:
cout << "Invalid";
}
}
当我尝试编译时,我收到以下错误..
error C3861: 'converter': identifier not found
可能是什么问题?
答案 0 :(得分:6)
您必须在使用之前声明该函数,以便编译器可以找到它。
string converter(int number);
答案 1 :(得分:2)
正如其他人提到的,你需要一个像这样的声明
string converter(int number);
在文件的开头(例如在使用命名空间std;之后)或在单独且包含的头文件中。
即使您解决了申报问题,您也会遇到另一个问题: 由于你没有在交换机的默认情况下返回任何内容,你需要在那里返回一些内容,否则编译器会说一些关于不完整控制路径的内容,并且程序可能会遇到未定义的行为。
答案 2 :(得分:1)
在使用之前添加函数声明。
std::string converter(int);
答案 3 :(得分:1)
要么像其他答案那样建议,要么只是剪切你的功能代码并将其粘贴到
下面using namespace std;
那是......
祝你有愉快的一天......