J'arrive pas a trouver la syntaxe pour obtenir l'adresse d'une fonction
template (gcc 3.4.2):
extern void libfn(int(*)(int));
template <typename T>
class maclass {
friend int fn(int)
{
T var;
return(0);
}
void setup()
{
// libfn(fn); // OK avec gcc 2.95
// libfn(fn); // `fn' undeclared (first use this
function)
// libfn(fn<T>); // `fn' undeclared (first use this
function)
libfn(::fn<T>); // `::fn' has not been declared
}
GCC 2.95 faisait n'importe quoi avec la norme et te permetait de faire du code pas portable du tout ...
G++ 2.95 est sorti avant la norme, ou très peu après, et faisait très bien avec ce qu'il y avait à l'époque. Quant à la portabilité... malheureusement, on est encore loin de la situation où conforme == portable. Pendant longtemps, en fait, du code écrit pour 2.95 était plus portable que celui écrit pour des versions antérieures. (La situation semble s'être améliorée dernièrement.) Ne juge pas ce compilateur à l'aune d'aujourd'hui -- il était un des meilleurs à son époque.
-- James Kanze GABI Software http://www.gabi-soft.fr 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
Matthieu Moy wrote:
Thierry Noc <thierry.noc@ifrance.com> writes:
En fait gcc 2.95 était trop intelligent,
GCC 2.95 faisait n'importe quoi avec la norme et te permetait
de faire du code pas portable du tout ...
G++ 2.95 est sorti avant la norme, ou très peu après, et faisait
très bien avec ce qu'il y avait à l'époque. Quant à la
portabilité... malheureusement, on est encore loin de la
situation où conforme == portable. Pendant longtemps, en fait,
du code écrit pour 2.95 était plus portable que celui écrit pour
des versions antérieures. (La situation semble s'être améliorée
dernièrement.) Ne juge pas ce compilateur à l'aune
d'aujourd'hui -- il était un des meilleurs à son époque.
--
James Kanze GABI Software http://www.gabi-soft.fr
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
GCC 2.95 faisait n'importe quoi avec la norme et te permetait de faire du code pas portable du tout ...
G++ 2.95 est sorti avant la norme, ou très peu après, et faisait très bien avec ce qu'il y avait à l'époque. Quant à la portabilité... malheureusement, on est encore loin de la situation où conforme == portable. Pendant longtemps, en fait, du code écrit pour 2.95 était plus portable que celui écrit pour des versions antérieures. (La situation semble s'être améliorée dernièrement.) Ne juge pas ce compilateur à l'aune d'aujourd'hui -- il était un des meilleurs à son époque.
-- James Kanze GABI Software http://www.gabi-soft.fr 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
Jean-Marc Bourguet
writes:
Matthieu Moy wrote:
Thierry Noc writes:
En fait gcc 2.95 était trop intelligent,
GCC 2.95 faisait n'importe quoi avec la norme et te permetait de faire du code pas portable du tout ...
G++ 2.95 est sorti avant la norme, ou très peu après, et faisait
July 31, 1999
d'apres http://gcc.gnu.org/releases.html#timeline
Et sincerement, le point en question est tellement tordu que j'aurais du mal a jeter la pierre a un compilateur qui aujourd'hui encore ne ferait pas ce qui est demande.
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
kanze@gabi-soft.fr writes:
Matthieu Moy wrote:
Thierry Noc <thierry.noc@ifrance.com> writes:
En fait gcc 2.95 était trop intelligent,
GCC 2.95 faisait n'importe quoi avec la norme et te permetait
de faire du code pas portable du tout ...
G++ 2.95 est sorti avant la norme, ou très peu après, et faisait
July 31, 1999
d'apres http://gcc.gnu.org/releases.html#timeline
Et sincerement, le point en question est tellement tordu que j'aurais
du mal a jeter la pierre a un compilateur qui aujourd'hui encore ne
ferait pas ce qui est demande.
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
GCC 2.95 faisait n'importe quoi avec la norme et te permetait de faire du code pas portable du tout ...
G++ 2.95 est sorti avant la norme, ou très peu après, et faisait
July 31, 1999
d'apres http://gcc.gnu.org/releases.html#timeline
Et sincerement, le point en question est tellement tordu que j'aurais du mal a jeter la pierre a un compilateur qui aujourd'hui encore ne ferait pas ce qui est demande.
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