C头文件中的字符串

时间:2010-11-11 21:21:47

标签: c++ string namespaces header std

我的头文件如下:

#include <iostream>
#include <string>
#include <windows.h>
#include <math.h>

//using namespace std;

std::string StringMultiply(string Str, int Mult)
{
    std::string Return;

    for (int Index = 0; Index <= Mult; Index++)
    {
        Return += Str;
    }

    return Return;
}

编译它会产生大量错误,其中大部分都与缺少string数据类型有关。取消注释using namespace std;行会修复它,但我被告知这是头文件中的错误做法。

3 个答案:

答案 0 :(得分:8)

变化

std::string StringMultiply(string Str, int Mult)

std::string StringMultiply(std::string Str, int Mult)

答案 1 :(得分:2)

如果您注释掉string行,则每次使用std::string时都需要将using限定为StringMultiplyusing namespace std;的返回值是正确的,但参数不是。

就个人而言,我不理解与{{1}}的建议 - 我不喜欢打字而不是我必须打字。

答案 2 :(得分:2)

如果您在参数列表中将string Str替换为std::string Str,则所有内容都可以正常编译。究竟是什么问题?