当前位置: 首页 > 知识库问答 >
问题:

C错误数组和结构

长孙鸿
2023-03-14

我的程序返回错误et,我不知道为什么。我如何解决这个问题?

错误:

错误:无法将“std::ostream{aka std::basic\u ostream}”左值绑定到“std::basic\u ostream”

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

struct Personne { int age; int nb_ami; };

int main()
{
    std::cout << "Entrer le nom du fichier: " << std::endl;
    std::string fileUser{};
    std::cin >> fileUser;
    std::ofstream(fileUser.c_str());
    std::cout << "Quel age avez-vous ?" << std::endl;
    std::vector<Personne> tab(1);
    std::cin >> tab[0].age;
    for (unsigned int i{}; i < tab.size(); i++){
        std::cout << tab[i] << std::endl;
    }
    return 0;
}

共有2个答案

彭宏义
2023-03-14

可怕的错误消息。原因是这一行:

std::cout << tab[i] << std::endl;

您还没有告诉编译器如何将PERNE类型的对象流式传输到输出。您需要定义一个适当的运算符

奚曦哲
2023-03-14

无法显示人员。您必须将内容(即age、nb\U ami)直接放入输出,或为操作符提供重载

 类似资料:
  • 如下代码为什么输出的结果不是1,2,3,4? 而是输出了错误的结果:1803629872 77304476 1803629872 0

  • 主要内容:1、声明交错数组,2、初始化交错数组,3、访问数组中的元素,4、交错数组和多维数组C# 中的交错数组其实就是元素为数组的数组,换句话说就是交错数组中的每个元素都可以是维度和大小不同的数组,所以有时交错数组也被称为“数组的数组”。 1、声明交错数组 交错数组的声明语法如下所示: data_type[][] array_name; 假如要声明一个具有三个元素的一维交错数组,并且数组中的每个元素都是一个一维的整型数组,示例代码如下: int[][] jaggedArray = new

  • 所谓 结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中, C语言结构体数组常被用来表示一个拥有相同 数据结构的群体,比如一个班的学生、一个车间的职工等。 在C语言中,定义结构体数组和定义结构体变量的方式类似,请看下面的例子: 表示一个班级有5个学生。 结构体数组在定义的同时也可以初始化,例如: 当对数组中全部元素赋值时,也可不给出数组长度,例如: 结构体数组的使用也很简单,例如,获取

  • 我已经开始在win32上使用C。正如我们所知,C结构与类相同,但默认为公共成员等。。。现在我想要的是简单的C结构,它没有默认的构造函数、复制或移动操作或任何其他魔法。因为我想将其存储在文件中,还可以执行memcpy,用作字节数组等。。。所以我想用#ifdef u cplusplus在标题中定义它,如下所示。 但这只能防止函数名称的混乱。但如果在cpp文件中,struct仍然编译为cpp struc

  • 我正在使用JAXB/MOXY解组包含约50个此类对象的XML文件: BR