[c++] probleme de class
Résolu
Superbeaugosse
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis en train de coder une classe et j ai une erreur que je n arrive vraiment pas a comprendre... Pourriez vous m aider svp ?
mon .h:
#ifndef SWAP.H
#define SWAP.H
#include <gllib/Vec2.h>
using namespace std;
class Swap{
private :
Vec2i mP1;
Vec2i mP2;
public :
Swap (Vec2i p1, Vec2i p2); // constructeur de mP1 et mP2
};
mon .cpp :
#include "Swap.h"
#include "cstdlib"
Swap :: Swap (Vec2i p1, Vec2i p2): // constructeur de mP1 et mP2
mP1[0]=p1[0],
mP1[1]=p1[1],
mP2[0]=p2[0],
mP2[1]=p2[1]
{}
il y a d autre trucs mais l erreur est a la ligne "mP1[0]=p1[0],", la librairie Vec2.h definit le type Vec2i qui est un vecteur a deux composantes.
l erreur :
5|error: expected `(' before '[' token|
5|error: expected `{' before '[' token|
5|error: expected unqualified-id before '[' token|
je suis en train de coder une classe et j ai une erreur que je n arrive vraiment pas a comprendre... Pourriez vous m aider svp ?
mon .h:
#ifndef SWAP.H
#define SWAP.H
#include <gllib/Vec2.h>
using namespace std;
class Swap{
private :
Vec2i mP1;
Vec2i mP2;
public :
Swap (Vec2i p1, Vec2i p2); // constructeur de mP1 et mP2
};
mon .cpp :
#include "Swap.h"
#include "cstdlib"
Swap :: Swap (Vec2i p1, Vec2i p2): // constructeur de mP1 et mP2
mP1[0]=p1[0],
mP1[1]=p1[1],
mP2[0]=p2[0],
mP2[1]=p2[1]
{}
il y a d autre trucs mais l erreur est a la ligne "mP1[0]=p1[0],", la librairie Vec2.h definit le type Vec2i qui est un vecteur a deux composantes.
l erreur :
5|error: expected `(' before '[' token|
5|error: expected `{' before '[' token|
5|error: expected unqualified-id before '[' token|
A voir également:
- [c++] probleme de class
- Logiciel de classement de photos gratuit - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? - Forum Réseaux sociaux
- Realtek audio admin background process class ✓ - Forum Pilotes (drivers)
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
3 réponses
C'est une erreur dans l'assignation des variable.
Dans un constructeur, si par exemple tu as une classe A ayant pour membre a b et c :
A::A(type_a vala,type_b valb,type_c valc):a(vala),b(valb),c(valc){};
Voilà.
Dans un constructeur, si par exemple tu as une classe A ayant pour membre a b et c :
A::A(type_a vala,type_b valb,type_c valc):a(vala),b(valb),c(valc){};
Voilà.
donc je devrais l ecrire comme ca ? :
mP1[0](p1[0]),
mP1[1](p1[1]),
mP2[0](p2[0]),
mP2[1](p2[1])
c est bete mais ca marche pas =(
mP1[0](p1[0]),
mP1[1](p1[1]),
mP2[0](p2[0]),
mP2[1](p2[1])
c est bete mais ca marche pas =(
C'est vrai ce serai a priori plus propre.
par contre, ta variable c'est mP1 et non mP1[0].
donc, soit tu peut faire "mP1(p1)" soit il faut assigner différemment.
Il faut que tu vois que comme mP1 est une classe, écrire mP1 implique l'appel d'une fonction membre (mP1.operator[](0)). Pour initialiser une variable ainsi il faut le faire en une fois
par contre, ta variable c'est mP1 et non mP1[0].
donc, soit tu peut faire "mP1(p1)" soit il faut assigner différemment.
Il faut que tu vois que comme mP1 est une classe, écrire mP1 implique l'appel d'une fonction membre (mP1.operator[](0)). Pour initialiser une variable ainsi il faut le faire en une fois