我的c ++字符串函数没有运行

时间:2014-08-25 13:59:13

标签: c++ string

我有一个简单的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

可能是什么问题?

4 个答案:

答案 0 :(得分:6)

您必须在使用之前声明该函数,以便编译器可以找到它。

string converter(int number);

答案 1 :(得分:2)

正如其他人提到的,你需要一个像这样的声明 string converter(int number); 在文件的开头(例如在使用命名空间std;之后)或在单独且包含的头文件中。

即使您解决了申报问题,您也会遇到另一个问题: 由于你没有在交换机的默认情况下返回任何内容,你需要在那里返回一些内容,否则编译器会说一些关于不完整控制路径的内容,并且程序可能会遇到未定义的行为。

答案 2 :(得分:1)

在使用之前添加函数声明。

std::string converter(int);

答案 3 :(得分:1)

要么像其他答案那样建议,要么只是剪切你的功能代码并将其粘贴到

下面
using namespace std;

那是......

祝你有愉快的一天......