J'ai une classe définie en C++. Et j'ai un template dans son fichier .h. Et ce modèle quelques-unes des classes locales définies dans le fichier .cxx.comment se débarrasser de l'erreur C3861:?
contenu de a.h
namespace test
{
Class a
{
template<classT>
{
abc xyz = //some initialization
}
};
}
contenu de a.cxx
#include "a.h"
namespace test
{
class abc
{
};
}
quand je compile ce fichier est compilé fin. Mais quand j'essaie d'utiliser le modèle que j'ai défini dans a.h. ça me jette l'erreur suivante.
erreur C3861: « abc »: identificateur non trouvé
Pourquoi déclarez-vous abc dans un fichier.cxx? Vous devriez le mettre dans un fichier d'en-tête et le charger avant votre modèle qui l'utilise. – Rup
Pourquoi 'classe abc' est dans' a.cxx' et pas dans le fichier d'entête? Et pourquoi l'extension de fichier est 'cxx', pas' cpp'? –
Vous devez placer une grosse flèche pointant sur la ligne de code dans l'extrait qui ne compile pas. –