Bonjour,
Je pense que mon erreur est basique mais je n'arrive pas à trouver l'explication.
Voici une classe: Entry
Mon but est d'initialiser un objet Entry.
Code : 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
19
20
21 class LIBAS_DECL Entry { public: typedef std::string ObjectContext; struct Prefix { const ObjectContext *component; uint32_t thrid; uint32_t reqid; Prefix(const ObjectContext *c) : component(c), thrid(0), reqid(0) { } }; public: Level level; Prefix prefix; class Writer &writer; public: Entry(Prefix p, Writer &w); }
Voici se que je fais:
Lors de la compilation, j'ai une erreur qui, d'après moi, annonce que je passe la structure Prefix (pfx) en tant que référence:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 const std::string tmp2; Entry::Prefix pfx(&tmp2); OSWriter MyWriter(lvl ,fp); Entry MyEntry(pfx, &MyWriter );
et le compilateur me propose ceci:error: no matching function for call to `STLRT::Log::Entry::Entry(STLRT::Log::Entry::Prefix&, STLRT::Log::OSWriter*)'
Je ne peux pas toucher à la classe Entry.note: candidates are: STLRT::Log::Entry::Entry(STLRT::Log::Entry::Prefix, STLRT::Log::Writer&)
Merci de votre aide, d'une piste, un cours ou tout autre apport.
G.
Partager