Appel de fonction static dans fonction template - C++ - Programmation
Marsh Posté le 14-01-2005 à 08:49:44
dans function, t est déclarée en const. Aussi, à moins d'avoir un operator = tordu, à votre place j'aurais des doutes sur la validité de la ligne commençant par t =
Marsh Posté le 14-01-2005 à 08:55:22
Oups pardon il faut enlever les const. Ils n'y sont pas en fait dans mon code. Je les enleve du premier post. Ma question est donc toujours valide
Marsh Posté le 14-01-2005 à 09:04:05
Avec Visual 6.0, j'ai aussi eu des problèmes avec les static et template. Apparemment, il n'est pas possible de définir des méthodes static templates dans une classe quelconque. Il faut définir des méthodes static dans une classe template pour que ce soit aceptable.
Tout ca pour te dire que cela vient peut-être simplement de Visual. Si tu as un autre compilateur sous la main ou que tu peut utiliser Visual 7.0, tu aura plus d'indications sur ton problème.
Marsh Posté le 14-01-2005 à 09:24:27
Je vais regarder avec un autre compilo mais je suis deje en VC++ .NET 2003 (7.1 donc) donc pas d'upgrade possible de ce cote la
Marsh Posté le 14-01-2005 à 09:31:26
Hum. Pour essayer avec un autre compilo j'ai ecrit un petit bout de code pour faire la meme chose et meme sous VS 7.1 ca compile... Doit avoir un probleme avec les classes dans mon programme original (qui sont des classes CORBA generees par ACE/TAO). Vais regarder ca de plus pres mais bon je sens que c'est encore un truc qui va gaver...
Code :
|
mynab
Marsh Posté le 14-01-2005 à 09:31:35
Ah, OK, effectivement, c'est plus étonnant comme problème si tu as un compilateur récent.
Marsh Posté le 14-01-2005 à 08:36:32
Bonjour,
je ne sais pas pourquoi mais quelque chose m'echappe. Il me semble avoir deja fait ca des centaines de fois mais le code ci-dessous ne compile pas. Quelqu'un peut me dire quelle est la syntaxe correcte? VC++ ne trouve pas la fonction static_function dans la classe T alors que celle-ci existe.
Ce code la par contre compile:
Mais bon ma fonction est statique donc je ne vois pas pourquoi je ne pourrais pas utiliser T::static_function.
Je precise juste que function est une fonction membre (template donc) d'une classe qui n'est pas template elle.
Merci
mynab
Message édité par mynab le 14-01-2005 à 08:55:36