加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 使用std :: ostream打印矢量

发布时间:2020-12-16 10:00:42 所属栏目:百科 来源:网络整理
导读:我是C的新手,我正在尝试打印出一系列机构,这是我创建的一种对象.对象的创建和我程序的其余部分运行得很好但是当我尝试打印出矢量时,“”给出一个错误,上面写着“操作数类型是std :: ostream”. void PrintVector(const vectorInstitution institutions){ for
我是C的新手,我正在尝试打印出一系列机构,这是我创建的一种对象.对象的创建和我程序的其余部分运行得很好但是当我尝试打印出矢量时,“<<”给出一个错误,上面写着“操作数类型是std :: ostream”.

void PrintVector(const vector<Institution> &institutions)
{
    for (int x = 0; x < institutions.size; x++)
    {
        cout << institutions.at(x) << endl;
    }
}

我已经尝试研究std :: ostream是什么或它做了什么,但由于我不太了解C(或一般的编程),我无法理解任何解释它的网站.为什么不通常的“cout<<”在这种情况下工作?任何人都可以向我解释这意味着什么,或者是否有不同的方法来打印出不需要这个的矢量? 任何帮助表示赞赏,谢谢.

解决方法

您可能希望为您的类机构重载ostream运算符(<<);
https://msdn.microsoft.com/en-us/library/1z2f6c2k.aspx

ostream& operator<<(ostream& os,const Institution& inst)
{
    os << inst.foo; /* some member variable */;
    return os;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读