#include <iostream>
#include <string>
using FText = std::string;
using Print = std::cout;
int main()
{
FText Submission1 = 0;
FText Submission2 = 0;
FText Operator = "";
return 0;
}
就像我看到的那样,
using FText = std::string
我怎么不能代替std :: cout,最令人困惑的是我得到的错误 “命名空间“ std”中没有名为“ cout”的类型”
如果std :: cout我成功地更改了字符串,但cout无法正常工作,有没有专业的程序员可以帮助我,我不喜欢输入所有内容
我使用xcode
答案 0 :(得分:4)
您可以使用using
或typedef
为类型引入新名称。
std::string
是一种类型,这两个等效:
using FText = std::string;
typedef std::string FText;
但是正如编译器所说,std::cout
不是类型(它是变量)。
您可以使用引用为std::cout
引入新名称:
int main()
{
auto& Print = std::cout;
Print << "Hallo, Word!";
}
答案 1 :(得分:1)
如果您不喜欢命名空间说明符的外观,则可以执行以下操作:
int main()
{
using std::cout;
cout<< "Hallo, Word!";
}
答案 2 :(得分:-2)
您可以创建一个新类,例如打印类,而不是覆盖<<插入运算符,而不是使用该类的对象进行打印。
class print{
public:
int a;
void operator<<(print &obj){
cout<<obj.a<<endl;
}
};
print obj;
obj.a =1;
obj<<obj;