No matching function for call to 'class::method(Class* const)'
Fermé
Drerrawyn
Messages postés
81
Date d'inscription
vendredi 24 octobre 2014
Statut
Membre
Dernière intervention
29 juin 2016
-
13 juil. 2015 à 20:12
SypayV Messages postés 6583 Date d'inscription vendredi 28 décembre 2007 Statut Contributeur Dernière intervention 19 février 2023 - 13 juil. 2015 à 22:04
SypayV Messages postés 6583 Date d'inscription vendredi 28 décembre 2007 Statut Contributeur Dernière intervention 19 février 2023 - 13 juil. 2015 à 22:04
A voir également:
- No matching function for call to 'class::method(Class* const)'
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Qwerty to azerty - Guide
- Welcome to nginx! ✓ - Forum Applis & Sites
- No boot device found press any key to reboot the machine - Forum Windows 10
- No available networks no response from server iron tv pro - Forum TV & Vidéo
2 réponses
SypayV
Messages postés
6583
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
19 février 2023
449
Modifié par SypayV le 13/07/2015 à 20:35
Modifié par SypayV le 13/07/2015 à 20:35
Salut,
Il n'y a pas besoin de signaler la class d'origine dans les fonctions si les class sont en héritage.
La plus jeune fille aura toutes les variables public et protected
Edit : Ce qui veut dire, et ça saute aux yeux, dans la fonction die tu n'as pas besoin de la déclarer avec from puisque de toutes façons tu n'utilises même pas from dans la fonction. La variable qui sera changée sera celle de la class qui reçoit l'appel. Si tu veux que ce soit celle qui appel la fonction qui change son propre contenu, il n'y a même pas besoin de créer une fonction. Il suffit de remplacer target.die(this); par m_type = 1;
Il faut revoir la structure.
Musicalement,
SypayV.
Il n'y a pas besoin de signaler la class d'origine dans les fonctions si les class sont en héritage.
La plus jeune fille aura toutes les variables public et protected
Edit : Ce qui veut dire, et ça saute aux yeux, dans la fonction die tu n'as pas besoin de la déclarer avec from puisque de toutes façons tu n'utilises même pas from dans la fonction. La variable qui sera changée sera celle de la class qui reçoit l'appel. Si tu veux que ce soit celle qui appel la fonction qui change son propre contenu, il n'y a même pas besoin de créer une fonction. Il suffit de remplacer target.die(this); par m_type = 1;
Il faut revoir la structure.
Musicalement,
SypayV.
Drerrawyn
Messages postés
81
Date d'inscription
vendredi 24 octobre 2014
Statut
Membre
Dernière intervention
29 juin 2016
6
13 juil. 2015 à 21:02
13 juil. 2015 à 21:02
En fait j'ai copié un bout de code un peu vieux, c'est form->m_type = 1; à la place de m_type = 1;
En fait ce que je veux faire c'est que il y a plusieurs types de blocks, dont certains qui modifient les attributs, je peux toujours faire autrement, mais je pensais avoir une methode unique qui fasse des choses différentes (methode virtuelle) pour chaque type de block, enfin bon, je vais changer la conception du coup.
Merci
En fait ce que je veux faire c'est que il y a plusieurs types de blocks, dont certains qui modifient les attributs, je peux toujours faire autrement, mais je pensais avoir une methode unique qui fasse des choses différentes (methode virtuelle) pour chaque type de block, enfin bon, je vais changer la conception du coup.
Merci
SypayV
Messages postés
6583
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
19 février 2023
449
Modifié par SypayV le 13/07/2015 à 22:07
Modifié par SypayV le 13/07/2015 à 22:07
Puisque form est une référence et non un pointeur, ça aurait été form.m_type = 1;
Edit : this est un pointeur. Si tu veux le déréférencer pour qu'il s'adapte à une fonction qui attend une référence, tu devrais faire *this.
target.die(*this);
Edit : this est un pointeur. Si tu veux le déréférencer pour qu'il s'adapte à une fonction qui attend une référence, tu devrais faire *this.
target.die(*this);