OVH Cloud OVH Cloud

probleme de template

1 réponse
Avatar
yomgui
Bonjour,

le code suivant compile bien sous Unix mais coince dans devstudio6

quelqu'un peut-il m'aider a reecrire ca comme il faut ?
(comme il faut pour visual studio s'entend)


template <class T> class AutoPtr
{
public:
/** Default constructor. */
AutoPtr(T* p = 0);

/** Copy contructing an AutoPtr from another AutoPtr causes the old
one
* to be released from destruction duty. */
AutoPtr(const AutoPtr &a);

/** Copy contructing an AutoPtr from a pointer with a different element
type. */
template<class T1> AutoPtr(const AutoPtr<T1> &a);
}

devstudio renvoie: member function already defined or declared
sur le dernier constructeur


merci

yomgui

1 réponse

Avatar
Ahmed MOHAMED ALI
Bonjour,
template <class T> class AutoPtr
Si c'est pour la gestion de la mémoire,pourquoi ne pas utiliser

std::auto_ptr ou bien boost::shared_ptr.

devstudio renvoie: member function already defined or declared
sur le dernier constructeur


VC++6 : il exitse certains problèmes avec les templates.Si tu dois
absolument compiler sous VC6,un truc qui est pas très propre est d'ajouter
un paramètre fictif
par défaut au deuxième constructeur template<class T1> AutoPtr(const
AutoPtr<T1> &a,int bidon=0);

Ahmed


"yomgui" wrote in message
news:
Bonjour,

le code suivant compile bien sous Unix mais coince dans devstudio6

quelqu'un peut-il m'aider a reecrire ca comme il faut ?
(comme il faut pour visual studio s'entend)


template <class T> class AutoPtr
{
public:
/** Default constructor. */
AutoPtr(T* p = 0);

/** Copy contructing an AutoPtr from another AutoPtr causes the old
one
* to be released from destruction duty. */
AutoPtr(const AutoPtr &a);

/** Copy contructing an AutoPtr from a pointer with a different element
type. */
template<class T1> AutoPtr(const AutoPtr<T1> &a);
}

devstudio renvoie: member function already defined or declared
sur le dernier constructeur


merci

yomgui