Un petit exercice

Résolu
cs_yohann59 Messages postés 12 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 15 janvier 2008 - 15 janv. 2008 à 04:09
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 - 15 janv. 2008 à 15:18
Bonjour à tous,

Alors voilà, je ne programme pas en C++, et on m'a demandé de résoudre ceci :(
Si l'un d'entre vous à une idée, je suis preneur !
Merci davance.









\Main.cpp(52) : error C2078: too many initializers



.\Main.cpp(52) : error C2440: 'initializing' : cannot convert from 'float' to 'Vector3'



No constructor could take the source type, or constructor overload resolution was ambiguous



.\Main.cpp(53) : error C2078: too many initializers



.\Main.cpp(53) : error C2440: 'initializing' : cannot convert from 'float' to 'Vector3'



No constructor could take the source type, or constructor overload resolution was ambiguous










Voici le Code :



// Include headers#include

<windows.h>#include

<stdio.h>// Include library for MessageBox

#pragma

comment(
lib,
"user32.lib")
// Disable VS deprecation messages

#pragma

warning(
disable:4996)
// Vector3 Structure

struct

Vector3{

// Members

float X, Y, Z;

// Output the string contents

void Output(){

char String[128];

sprintf(String,

"%i, %i, %i", X, Y, Z);MessageBox(0, String,

"Vector3", MB_OK);}

};

// Add two vectors

void

Add(Vector3 Out, Vector3 A, Vector3 B){

Out.X = A.X + B.X;

Out.Y = A.Y + B.Y;

Out.Z = A.Z + B.Z;

}

 

int

main(){

// Initilize testing variablesVector3 OutVec;

Vector3 Vec1(9.0f, 10.71f, 0.0f);

Vector3 Vec2(0.0f, -1.71f, 9.0f);

// Add them togetherAdd(OutVec, Vec1, Vec2);

// Display the outputOutVec.Output();

// Done

return 0;}

Yohann

4 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
15 janv. 2008 à 10:31
Il ne faut pas tout mélanger les coco. Ici on parle de strucure et non pas de classe. Il n'y a donc aucune notion de constructeur.

Sinon yohann59, pour ce qui est de ton problème, regarde du coté de l'initialisation de tes structures car la tu fais comme si c'etait des classes, ce qui est faux.
Modifie aussi la fonction Add pour que le premier paramètre soit un pointeur, sinon tu ne pourras rien renvoyer et ta structure restera toujours "vide" lors de l'appel à la méthode Output.

Shell
3
gamemonde Messages postés 336 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 9 juillet 2011 2
15 janv. 2008 à 04:22
ou est le constructeur de vecteur3?
0
cs_yohann59 Messages postés 12 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 15 janvier 2008
15 janv. 2008 à 13:40
Yohann
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
15 janv. 2008 à 15:18
On peut mettre un constructeur à une struct en C++
0
Rejoignez-nous