Debutant , mais ou est mon erreur ? - C++ - Programmation
Marsh Posté le 23-05-2003 à 09:05:07
static string derniereErreur[BUFSIZ];
derniereErreur=e._message;
tu assigne un string a un tableau de string, donc evidemment, ca pete
Marsh Posté le 23-05-2003 à 09:06:44
t'es sur de savoir ce que tu fais
new (LocalisateurSycom);
Marsh Posté le 23-05-2003 à 09:07:57
ah oui, si visual connait ça, en C++, on utilise pas le mot clef static, mais des namespaces anonymes
Marsh Posté le 23-05-2003 à 09:08:54
J'ai un petit soucis , il faut que je fasse un transtypage en passant du c++ en c. Donc faut que je convertisse un string donc du c++ en un char. Comment puis-je faire ?
Marsh Posté le 23-05-2003 à 09:09:21
++Taz a écrit : ah oui, si visual connait ça, en C++, on utilise pas le mot clef static, mais des namespaces anonymes |
il a dit qu'il programmait sous borland
Marsh Posté le 23-05-2003 à 09:09:38
roromaino a écrit : J'ai un petit soucis , il faut que je fasse un transtypage en passant du c++ en c. Donc faut que je convertisse un string donc du c++ en un char. Comment puis-je faire ? |
std::string::c_str()
Marsh Posté le 23-05-2003 à 09:13:00
La j'ai pas suivi "std::string::c_str()". peut-tu me l'expliquer . En fait faut que je transforme _message qui est une string en char derniereErreur[256].
Marsh Posté le 23-05-2003 à 09:14:46
roromaino a écrit : La j'ai pas suivi "std::string::c_str()". peut-tu me l'expliquer . En fait faut que je transforme _message qui est une string en char derniereErreur[256]. |
strcpy(derniereErreur,_message.c_str());
prie juste pour que ton _message ait moins de 255 caracteres, ou test ca avant, ou utilise strncpy
Marsh Posté le 23-05-2003 à 09:17:16
ok la je capte, oui normalement c bon il depassera pas 255 caractere. Merci de ton aide ca me permet d'avancer tout en apprennant.
Marsh Posté le 23-05-2003 à 11:00:59
J'ai une autre erreur que j'arrive pas a resoudre si quelqu'un peut m'aider..
int WINAPI DllEntryPoint(hinst ,DLL_PROCESS_ATTACH ,lpReserved)
{
derniereErreur=0;
pLocalisateur=0;
return 1;
}
voila sur la ligne de commande
int WINAPI DllEntryPoint(hinst ,DLL_PROCESS_ATTACH ,lpReserved)
borland me dit que :
- Symbole 'hinst' non défini
- ) attendue
Marsh Posté le 23-05-2003 à 11:03:10
ouais la fo apprendre le C++ hein ? T'as vu la gueule de ta fonction ?
Marsh Posté le 23-05-2003 à 11:07:16
tu melange nom des parametres et type des parametre
le mieux c de tjs mettre les deux, si tu veux mon avis
Marsh Posté le 23-05-2003 à 11:08:38
ha donc comme ca alors :
int WINAPI DllEntryPoint(HINSTANCE hinst ,DWORD DLL_PROCESS_ATTACH ,LPVOID lpReserved)
Marsh Posté le 27-05-2003 à 08:43:38
C'est pas "mieux", il faut toujours mettre le type de donnée (obligatoire) et le nom de l'argument (facultatif mais conseillé...) dans le prototype de la fonction
Marsh Posté le 23-05-2003 à 09:03:08
static string derniereErreur[BUFSIZ];
static ILocalisateur* pLocalisateur;
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
//Code generant exception
try
{
pLocalisateur=new (LocalisateurSycom);
pLocalisateur->GetAbscisse();
delete pLocalisateur;
}
//Attraper exeception
catch (ExceptionSycom& e)
{
derniereErreur=e._message;
}
}
Sachant que j'ai une classe qui s'apelle ExceptionSycom où message est declaré comme ceci const string _message;
Borland me fait une erreur de type:
Lvalue nécessaire sur derniereErreur=e._message;