begin process at 2012 05 30 04:39:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Surdéfinition d'opérateur et constantes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Surdéfinition d'opérateur et constantes

lundi 9 janvier 2006 à 16:23:53 | Surdéfinition d'opérateur et constantes

neodelphi

Membre Club
Bonjour tout le monde!

J'ai écrit une classe CVector3 dans laquelle j'ai redéfini plusieurs opérateurs. Cela fonctionne correctement excepté lorsque je tente d'effectuer des opérations sur des constantes, voici un exemple d'opérateur qui me pose problème:


/*
 * Opérateur *
 *
 * Multipli la norme du vecteur par un réel
 */

CVector3 CVector3::operator*(float lambda)
{
    return CVector3(x*lambda, y*lambda, z*lambda);
}



Le message d'erreur du compilateur est:
cglcore.cpp:55: error: passing ‘const CVector3’ as ‘this’ argument of ‘CVector3 CVector3::operator*(float)’ discards qualifiers

J'ai déjà eu un problème similaire, je ne pouvai pas faire certains calculs en une seule ligne. Je pense que ça viend du passage de parmètres mais je ne sais pas du tout comment résoudre ce problème. Quelqu'un a-t-il une solution ?

neodelphi
lundi 9 janvier 2006 à 17:17:12 | Re : Surdéfinition d'opérateur et constantes

luhtor

Rajoutes juste un "const"

CVector3 CVector3::operator*(float lambda) const
{
    return CVector3(x*lambda, y*lambda, z*lambda);
}

Mais pour etre plus propre normalement, cet opérateur c'est:

CVertor3 operator * (float _lambda, const CVertex3 & _which)
{
    return CVector3(
_which.x*lambda, _which.y*lambda, _which.z*lambda);
}

mardi 10 janvier 2006 à 06:41:30 | Re : Surdéfinition d'opérateur et constantes

neodelphi

Membre Club
Ok Ok il faut que j'essaye ça alors... Merci pour ta réponse.

neodelphi


Cette discussion est classée dans : problème, opérateur, constantes, cvector3, lambda


Répondre à ce message

Sujets en rapport avec ce message

Template, surdéfinition d'opérateur et héritage ! [ par neodelphi ] Bonjour tout le monde ! pour un projet perso j'ai codé un template vector dans lequel on spécifi la dimension du vecteur (ce qui donne par exemple ve problème opérateur= [ par papytergnier ] Tout d'abord je me présente vite fait : g un projet de c++ à rendre pr lundi et étant assez newbie je suis légérement dans la merde donc j'espère que Problème de surcharge de cout (operateur <<) [ par hakimus ] Bonsoir, Voilà, j'essaye d'implémenter ma première surcharge d'opérateur de flux <<, et bien que je fasse tout comme on me dit, ça ne fonctionne pas Problème avec type de données et opérateur >> lors de lecture de fichier [ par bny ] Bonjour, j'essaie de décoder un fichier de configuration(txt) j'ai certain problèmes avec les types de données et l'opérateur >> (flux de données).  J Modal Dialog Box, Bug ! [ par Hades53 ] Bonjour à tous, je suis confronté à un petit problème, j'ai crée un dialog (style modal) mais quand j'utilise la fonction: DialogBox(), la boîte de di problème de conversion (fonction DrawLine) [ par nicolasmaicheul ] Salut à tous,Je travaille en CLI/C++ et j'ai un petit problème à la compilation:(code allégé)je fais appel à cette fonction:pvDoc->DessineLigne(pointD problème usb windows 98 [ par konanlouis ] salut!!!j'ai un  PC qui utilise windows 98. le problème ai que il ne reconnait aucune clé usb . par contre il  reconnait les souris hd usb que faire? [BAR]problème impression [ par ecr ] Bonjour, Malgré le réglage des têtes d'impression, mon imprimante Canon i550 (6 ans d'âge)imprime mal certaines lignes de texte qui sont presque illis Problème de passage en mode Release [ par RV2931 ] Bonjour, J'ai un problème vraiment très bizarre Je suis sous VC 2005 Express J'ai un projet qui se compile très bien en Debug et Release, par contre Concaténation et Conversion [ par beebopcmoi ] Bonjour a tous [^^happy13] enfin a ceux qui me liront :p Je suis un newbie dans le monde du C, et je galère un peu sur un problème qui je pense est t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales