Cela me semble correct, mais g++ 3.4.4 m'informe qu'il ne trouve pas la définition
de mon type "Collection" qui pourtant est définit à l'aide d'un typedef dans ma classe Abstraite.
Cela me semble correct, mais g++ 3.4.4 m'informe qu'il ne trouve pas la définition de mon type "Collection" qui pourtant est définit à l'aide d'un typedef dans ma classe Abstraite.
Quelqu'un aurait-il une idée ?
Utilise:
typename NoConstraint::Collection collection;
Le probleme est que Collection tout seul est un nom non qualifie, hors les noms non qualifies ne sont pas cherche dans ce qui depend des parametres templates, et c'est le cas pour la classe de base de NoConstaint. Donc il faut le qualifier pour qu'il soit chercher, d'ou le NoConstraint::
Le typename est necessaire lui parce que NoConstraint::Collection est un nom dependant, et que les noms dependant doivent etre precede de typename s'ils sont des types...
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Cela me semble correct, mais g++ 3.4.4 m'informe qu'il ne trouve pas la définition
de mon type "Collection" qui pourtant est définit à l'aide d'un typedef dans ma classe Abstraite.
Quelqu'un aurait-il une idée ?
Utilise:
typename NoConstraint::Collection collection;
Le probleme est que Collection tout seul est un nom non qualifie, hors
les noms non qualifies ne sont pas cherche dans ce qui depend des
parametres templates, et c'est le cas pour la classe de base de
NoConstaint. Donc il faut le qualifier pour qu'il soit chercher, d'ou
le NoConstraint::
Le typename est necessaire lui parce que NoConstraint::Collection est
un nom dependant, et que les noms dependant doivent etre precede de
typename s'ils sont des types...
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Cela me semble correct, mais g++ 3.4.4 m'informe qu'il ne trouve pas la définition de mon type "Collection" qui pourtant est définit à l'aide d'un typedef dans ma classe Abstraite.
Quelqu'un aurait-il une idée ?
Utilise:
typename NoConstraint::Collection collection;
Le probleme est que Collection tout seul est un nom non qualifie, hors les noms non qualifies ne sont pas cherche dans ce qui depend des parametres templates, et c'est le cas pour la classe de base de NoConstaint. Donc il faut le qualifier pour qu'il soit chercher, d'ou le NoConstraint::
Le typename est necessaire lui parce que NoConstraint::Collection est un nom dependant, et que les noms dependant doivent etre precede de typename s'ils sont des types...
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Stephane Wirtel
Merci,
Effectivement cela fonctionne mieux de cette manière, je prends note de la remarque.
Stef
Merci,
Effectivement cela fonctionne mieux de cette manière, je prends note de la remarque.