Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 插入和提取运算符不';行不通_C++ - Fatal编程技术网

C++ 插入和提取运算符不';行不通

C++ 插入和提取运算符不';行不通,c++,C++,正在玩运算符重载,无法找出以下代码的错误- #include <iostream> class Holder { public: std::string name; int data; }; std::istream operator>>(std::istream& is, Holder &h) { std::cout<<"Enter name = "<<std::endl; std::cin&g

正在玩运算符重载,无法找出以下代码的错误-

#include <iostream>

class Holder
{
public:
    std::string name;
    int data;
};

std::istream operator>>(std::istream& is, Holder &h)
{
    std::cout<<"Enter name = "<<std::endl;
    std::cin>>h.name;

    std::cout<<"Enter data = "<<std::endl;
    std::cin>>h.data;

    return is;
}

std::ostream operator<<(std::ostream& os, Holder const &h)
{
    std::cout<<"Name = "<<h.name<<std::endl;
    std::cout<<"Data = "<<h.data<<std::endl;

    return os;
}

int main(int argc, char **argv) {
    Holder h;
    std::cin>>h;
    std::cout<<h;
}
#包括
阶级持有者
{
公众:
std::字符串名;
int数据;
};
std::istream运算符>>(std::istream&is、支架&h)
{
std::cout通过引用返回:

std::istream& operator>>(std::istream& is, Holder &h)
std::ostream& operator<<(std::ostream& os, Holder const &h)
          //^
std::istream&operator>>(std::istream&is,Holder&h)

std::ostream&operator作为一种风格,流提取器不应该写任何东西。它的工作只是读取。提示属于调用提取器的代码。毕竟,提取器可以从文件中读取。。。
std::istream& operator>>(std::istream& is, Holder &h)
std::ostream& operator<<(std::ostream& os, Holder const &h)
          //^