Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms,
mais je ne sais plus quelle version) me le refuse avec un message du
style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le
compilateur PC est vraiment trop mauvais (*)?
(*) c'est celui qui refuse ce genre de code:
for (int i= 0; i<2; i++);
for (int i= 0; i<2; i++); // i already defined
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain
Ploc wrote on 26/09/2007 22:54:
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse avec un message du style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le compilateur PC est vraiment trop mauvais (*)? (*) c'est celui qui refuse ce genre de code: for (int i= 0; i<2; i++); for (int i= 0; i<2; i++); // i already defined
cette non-conformité a été corrigé très récemment, dont la version 2005. VC6 (98) a ce bug et supporte très mal les templates. VC2003 corrige certains trucs et en empire d'autres.
vous n'utilisez donc certainement pas VC2005, je vous recommande de faire un test avec (en commençant par la version "légère" gratuite).
Sylvain.
Ploc wrote on 26/09/2007 22:54:
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms,
mais je ne sais plus quelle version) me le refuse avec un message du
style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le
compilateur PC est vraiment trop mauvais (*)?
(*) c'est celui qui refuse ce genre de code:
for (int i= 0; i<2; i++);
for (int i= 0; i<2; i++); // i already defined
cette non-conformité a été corrigé très récemment, dont la version 2005.
VC6 (98) a ce bug et supporte très mal les templates.
VC2003 corrige certains trucs et en empire d'autres.
vous n'utilisez donc certainement pas VC2005, je vous recommande de
faire un test avec (en commençant par la version "légère" gratuite).
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse avec un message du style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le compilateur PC est vraiment trop mauvais (*)? (*) c'est celui qui refuse ce genre de code: for (int i= 0; i<2; i++); for (int i= 0; i<2; i++); // i already defined
cette non-conformité a été corrigé très récemment, dont la version 2005. VC6 (98) a ce bug et supporte très mal les templates. VC2003 corrige certains trucs et en empire d'autres.
vous n'utilisez donc certainement pas VC2005, je vous recommande de faire un test avec (en commençant par la version "légère" gratuite).
Sylvain.
Fabien LE LEZ
On Wed, 26 Sep 2007 22:54:07 +0200, Ploc :
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse
Essaie avec Comeau. <http://www.comeaucomputing.com/tryitout>
Ils ne sont manifestement pas doués en HTML, mais leur compilateur fait référence en matière de conformance au standard.
On Wed, 26 Sep 2007 22:54:07 +0200, Ploc :
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms,
mais je ne sais plus quelle version) me le refuse
Essaie avec Comeau.
<http://www.comeaucomputing.com/tryitout>
Ils ne sont manifestement pas doués en HTML, mais leur compilateur
fait référence en matière de conformance au standard.
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse avec un message du style 'can not use string as command' (ou a peu près).
Si c'est VC++ 6.0, c'est normal. Le compilateur a vu le jour avant que la syntaxe fonction<templateParam>... existait.
Quant à la version, il suffit en général d'invoquer le compilateur sans l'option /nologo pour la voir, je crois. C'est au moins le cas avec la version 8 (celle de Visual Studios 2005, bien qu'il affiche la version 14.00.50727.42 pour le compilateur, aller savoir ce que ça signifie), et d'après mes souvenirs, aussi pour VC++ 6.0.
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le compilateur PC est vraiment trop mauvais (*)?
La norme C++98 l'autorise (en supposant que "string" nomme un type, ici). C'était quelque chose qui a été ajouté par le comité par rapport à ce qui se faisait avant, en revanche, ce qui veut dire en gros que tu ne peux y compter que dans les compilateurs qui ont apparu peut-être cinq ans après, plus ou moins. (Et encore. Le comité a ajouté "export", aussi, mais il y a encore bien de compilateurs qui ne l'implemente pas.)
(*) c'est celui qui refuse ce genre de code: for (int i= 0; i<2; i++); for (int i= 0; i<2; i++); // i already defined
Ça pourrait être n'importe laquelle entre 1.0 et 6.0, et peut-être même après.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
On Sep 26, 10:54 pm, Ploc <p...@clop.invalid> wrote:
Dans un programme, j'ai quelque chose de ce style:
class A {
public:
template<typename T> f(const T& arg1, const T& arg2);
Ce code compile et fonctionne bien sur SUN, mais mon
compilateur PC (ms, mais je ne sais plus quelle version) me le
refuse avec un message du style 'can not use string as
command' (ou a peu près).
Si c'est VC++ 6.0, c'est normal. Le compilateur a vu le jour
avant que la syntaxe fonction<templateParam>... existait.
Quant à la version, il suffit en général d'invoquer le
compilateur sans l'option /nologo pour la voir, je crois. C'est
au moins le cas avec la version 8 (celle de Visual Studios 2005,
bien qu'il affiche la version 14.00.50727.42 pour le
compilateur, aller savoir ce que ça signifie), et d'après mes
souvenirs, aussi pour VC++ 6.0.
Est-ce que j'ai bénificié des largesses de sun studio, ou
est-ce que le compilateur PC est vraiment trop mauvais (*)?
La norme C++98 l'autorise (en supposant que "string" nomme un
type, ici). C'était quelque chose qui a été ajouté par le comité
par rapport à ce qui se faisait avant, en revanche, ce qui veut
dire en gros que tu ne peux y compter que dans les compilateurs
qui ont apparu peut-être cinq ans après, plus ou moins. (Et
encore. Le comité a ajouté "export", aussi, mais il y a encore
bien de compilateurs qui ne l'implemente pas.)
(*) c'est celui qui refuse ce genre de code:
for (int i= 0; i<2; i++);
for (int i= 0; i<2; i++); // i already defined
Ça pourrait être n'importe laquelle entre 1.0 et 6.0, et
peut-être même après.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse avec un message du style 'can not use string as command' (ou a peu près).
Si c'est VC++ 6.0, c'est normal. Le compilateur a vu le jour avant que la syntaxe fonction<templateParam>... existait.
Quant à la version, il suffit en général d'invoquer le compilateur sans l'option /nologo pour la voir, je crois. C'est au moins le cas avec la version 8 (celle de Visual Studios 2005, bien qu'il affiche la version 14.00.50727.42 pour le compilateur, aller savoir ce que ça signifie), et d'après mes souvenirs, aussi pour VC++ 6.0.
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le compilateur PC est vraiment trop mauvais (*)?
La norme C++98 l'autorise (en supposant que "string" nomme un type, ici). C'était quelque chose qui a été ajouté par le comité par rapport à ce qui se faisait avant, en revanche, ce qui veut dire en gros que tu ne peux y compter que dans les compilateurs qui ont apparu peut-être cinq ans après, plus ou moins. (Et encore. Le comité a ajouté "export", aussi, mais il y a encore bien de compilateurs qui ne l'implemente pas.)
(*) c'est celui qui refuse ce genre de code: for (int i= 0; i<2; i++); for (int i= 0; i<2; i++); // i already defined
Ça pourrait être n'importe laquelle entre 1.0 et 6.0, et peut-être même après.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Ploc
Sylvain wrote:
Ploc wrote on 26/09/2007 22:54:
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse avec un message du style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le compilateur PC est vraiment trop mauvais (*)? (*) c'est celui qui refuse ce genre de code: for (int i= 0; i<2; i++); for (int i= 0; i<2; i++); // i already defined
cette non-conformité a été corrigé très récemment, dont la version 2005. VC6 (98) a ce bug et supporte très mal les templates. VC2003 corrige certains trucs et en empire d'autres.
vous n'utilisez donc certainement pas VC2005, je vous recommande de faire un test avec (en commençant par la version "légère" gratuite).
Sylvain.
Merci pour cette confirmation.
Il me semble bien qu'il s'agit de VC6 et malheureusement je n'ai pas la liberté d'en changer (contrainte professionnelle).
Merci à tous les contributeurs pour les réponses.
Sylvain wrote:
Ploc wrote on 26/09/2007 22:54:
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC
(ms, mais je ne sais plus quelle version) me le refuse avec un message
du style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que
le compilateur PC est vraiment trop mauvais (*)?
(*) c'est celui qui refuse ce genre de code:
for (int i= 0; i<2; i++);
for (int i= 0; i<2; i++); // i already defined
cette non-conformité a été corrigé très récemment, dont la version 2005.
VC6 (98) a ce bug et supporte très mal les templates.
VC2003 corrige certains trucs et en empire d'autres.
vous n'utilisez donc certainement pas VC2005, je vous recommande de
faire un test avec (en commençant par la version "légère" gratuite).
Sylvain.
Merci pour cette confirmation.
Il me semble bien qu'il s'agit de VC6 et malheureusement je n'ai pas la
liberté d'en changer (contrainte professionnelle).
Ce code compile et fonctionne bien sur SUN, mais mon compilateur PC (ms, mais je ne sais plus quelle version) me le refuse avec un message du style 'can not use string as command' (ou a peu près).
Est-ce que j'ai bénificié des largesses de sun studio, ou est-ce que le compilateur PC est vraiment trop mauvais (*)? (*) c'est celui qui refuse ce genre de code: for (int i= 0; i<2; i++); for (int i= 0; i<2; i++); // i already defined
cette non-conformité a été corrigé très récemment, dont la version 2005. VC6 (98) a ce bug et supporte très mal les templates. VC2003 corrige certains trucs et en empire d'autres.
vous n'utilisez donc certainement pas VC2005, je vous recommande de faire un test avec (en commençant par la version "légère" gratuite).
Sylvain.
Merci pour cette confirmation.
Il me semble bien qu'il s'agit de VC6 et malheureusement je n'ai pas la liberté d'en changer (contrainte professionnelle).