Bonjour

je voudrai faire une liste dont les élément soient des std::tuple<bien_immobilier,int>.
Mais après j'ai du mal à accéder à ce int:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
revenus.cpp: In function ‘int main()’:
revenus.cpp:17:34: error: no match foroperator[](operand types are ‘__gnu_cxx::__alloc_traits<std::allocator<std::tuple<bien_immobilier, int> >, std::tuple<bien_immobilier, int> >::value_type’ {aka ‘std::tuple<bien_immobilier, int>’} andint)
   17 |   std::cout<<revenus_joueur[0][0][1]<<std::endl;
      |                                  ^
m
Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <array>
#include <vector>
#include <iostream>
 
enum bien_immobilier{maison,appartement};
 
typedef std::tuple<bien_immobilier,int>ligne_revenus;
 
int main(){
  std::vector<ligne_revenus>revenus;
  std::array<std::vector<ligne_revenus>,6>revenus_joueur;
  ligne_revenus un_revenu=std::make_tuple(maison,250);
  ligne_revenus un_autre=std::make_tuple(appartement,150);
  revenus.push_back(un_revenu);
  revenus.push_back(un_autre);
  revenus_joueur[0]=revenus;
  std::cout<<revenus_joueur[0][0][1]<<std::endl;
}