我的头文件如下:
#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;
行会修复它,但我被告知这是头文件中的错误做法。
答案 0 :(得分:8)
变化
std::string StringMultiply(string Str, int Mult)
到
std::string StringMultiply(std::string Str, int Mult)
答案 1 :(得分:2)
如果您注释掉string
行,则每次使用std::string
时都需要将using
限定为StringMultiply
。 using namespace std;
的返回值是正确的,但参数不是。
就个人而言,我不理解与{{1}}的建议 - 我不喜欢打字而不是我必须打字。
答案 2 :(得分:2)
如果您在参数列表中将string Str
替换为std::string Str
,则所有内容都可以正常编译。究竟是什么问题?