la compilation de WordNet
bonjour,:D
Je préviens que WordNet est un sharware;
Je compile les modules un à un;
ils ont été changés pour une migration vers le code managé
mais comme le code managé ne marche pas, je reviens au code standard.
J'ai une difficulté sur le deuxième module
je vous met les éléments :
d'abord les déclarations
la variable locale :
Code:
SnsIndexPtr snsidx = nullptr;
après je vous met la structure si :
Code:
1 2 3 4 5 6 7 8 9 10
| typedef struct si {
char *sensekey; /* sense key */
char *word; /* word string */
long loc; /* synset offset */
int wnsense; /* WordNet sense number */
int tag_cnt; /* number of semantic tags to sense */
struct si *nextsi; /* ptr to next sense index entry */
} SnsIndex;
typedef SnsIndex* SnsIndexPtr; |
après je vous me le code qui ne compile pas(mis a la norme par moi) :
Code:
snsidx = new SnsIndex(sizeof(SnsIndex));
et je vous met les injures du compilateur
Code:
1 2 3 4
| 1> wnutil.cpp
1>..\..\..\..\..\..\WordNet\src\lib\wnutil.cpp(708): error C2664: 'si::si(const si &)'*: impossible de convertir le paramètre 1 de 'unsigned int' en 'const si &'
1> Raison*: impossible de convertir de 'unsigned int' en 'const si'
1> Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé |
la ligne était avant un malloc(SnsIndexPtr)(sizeof(SensIndex));
C'est un new qui pose problème
je cherche une solution sur le new
Je cherche une solution sur le new
et j'ai essayé unique_ptr