 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Sébastien Fraigneau Guest
|
Posted: Tue Sep 07, 2004 10:06 am Post subject: stringstream dans un destructeur |
|
|
Bonjour,
En compilant ce programme sous VC6, j'ai une violation d'acces à la
fermeture du programme (pas d'exception levée, l'erreur est visible
seulement dans la fenêtre de debug de VC):
--------------------------------------------------
#include <sstream>
class Test
{
public:
~Test()
{
int unNombre = 123456;
std::stringstream str;
str << unNombre;
}
static Test& getInstance()
{
static Test s_test;
return s_test;
}
};
int main()
{
Test test;
Test::getInstance();
return 0;
}
--------------------------------------------------
Je n'ai pas de problème si unNombre est une chaine de caractère, ni si j'ai
ce genre de chose dans mon main :
int main()
{
Test::getInstance();
return 0;
}
ou
int main()
{
Test test1;
Test test2;
return 0;
}
ou encore
int main()
{
{
Test test;
Test::getInstance();
}
return 0;
}
Etrange ce comportement des stringstream, non ?
|
|
| Back to top |
|
 |
Samuel Krempp Guest
|
Posted: Wed Sep 08, 2004 5:52 pm Post subject: Re: stringstream dans un destructeur |
|
|
le Tuesday 07 September 2004 12:06, [email]bese_NO (AT) SPAM_noos (DOT) fr[/email] écrivit :
| Quote: | int main()
{
Test test;
Test::getInstance();
return 0;
}
....
Etrange ce comportement des stringstream, non ?
|
C'est pas ça qu'il faut dire, mais plutôt :
"Etrange ce comportement de VC6, non ?"
Si tu as la possibilité de remplacer VC6 par un 7 avec toutes ses mises à
jour, tu obtiendras un comportement bcp plus proche de ce que dit la norme.
--
Sam
|
|
| Back to top |
|
 |
Sébastien Fraigneau Guest
|
Posted: Thu Sep 09, 2004 6:43 am Post subject: Re: stringstream dans un destructeur |
|
|
ah ben, ça me rassure. Je me doutais bien que c'était VC6 qui était en
cause. Je vais contourner le problème en attentant d'avoir un compilateur
plus récent.
Merci beaucoup.
"Samuel Krempp" <krempp (AT) crans (DOT) truc.en.trop.ens-cachan.fr> a écrit dans le
message de news:413f46d6$0$7608$636a15ce (AT) news (DOT) free.fr...
| Quote: | le Tuesday 07 September 2004 12:06, [email]bese_NO (AT) SPAM_noos (DOT) fr[/email] écrivit :
int main()
{
Test test;
Test::getInstance();
return 0;
}
...
Etrange ce comportement des stringstream, non ?
C'est pas ça qu'il faut dire, mais plutôt :
"Etrange ce comportement de VC6, non ?"
Si tu as la possibilité de remplacer VC6 par un 7 avec toutes ses mises à
jour, tu obtiendras un comportement bcp plus proche de ce que dit la
norme.
--
Sam
|
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|