Bonjour à tous

J'ai travaillé sur une class nomé "string" qui est en faite un tableau de caractère, et un ensemble de fonction pour géré la taille du tableau a fin de facilité mes manipulation de chaîne de caractère.

J'ai fais une fonction pour l'operateur = avec comme argument un char * et cela marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
string string::operator = (char * Value) { blabla }
Grace à cela, je peut faire donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
string MaChaine = "hello word" ;
sans aucun souci.

J'ai ensuite modifier une fonction pour passer de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int loadHeightMap (char * FilePath, int Width, int Height);
à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int loadHeightMap (string FilePath, int Width, int Height);
Seulement, quand j'appel cette fonction de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
loadHeightMap ("worlds/USA.raw", 400, 400);
Cela ne marche pas ... Bien entendu, j'ai essayer avec un cast
Code : Sélectionner tout - Visualiser dans une fenêtre à part
loadHeightMap ((string)"worlds/USA.raw", 400, 400);
Mais sans succès.

Je souhaiterai que ma conversion char * vers string aussi parfaite que int vers float comme dans cette exemple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
float maFonction (float Value) // definition d'une fonction attendant un float
{
return Value * 5.0f ;
}
 
// mais un appel avec un int
int a = 2 ;
floar b = maFonction (a);
Comment puis je faire ?