Probleme avec foction inline dans visual C++

Fermé
nawal1000 Messages postés 24 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 5 septembre 2008 - 4 déc. 2007 à 20:04
 Behal - 8 août 2008 à 10:06
Bonjour,

Je suis débutante en programmation C, j'ai copier le fichier entête unistd.h des fichiers include de dev-cpp vers les include de visual-cpp et quand je compile mon programme , il me donne les erreurs suivante:

La definition de la foction inline dans l'entete unistd est la suivante:
int ftruncate(int, off_t);
__CRT_INLINE* int ftruncate(int __fd, off_t __length)
{
return _chsize (__fd, __length);
}

et aprés compilation j'ai les erreurs suivante avec visual cpp


\include\unistd.h(23) : error C2081: 'off_t' : name in formal parameter list illegal
\include\unistd.h(24) : error C2143: syntax error : missing '{' before '*'
\include\unistd.h(24) : error C2059: syntax error : 'type'


merci bien de m'aider
A voir également:

1 réponse

Je suppose que cette réponse arrive un peu tard. ;)
La première erreur indique que off_t n'est pas défini comme un type à ce point du fichier.
La seconde indique un problème avec les définitions des macros comme _CRT (mais en fait déjà que le * précède le type int me paraît louche).
Puis on retrouve le type off_t non défini.
Visiblement il manque des définitions pour ce include.
Déjà sortir un include seul de son contexte est dangereux (les ensembles de includes du c++ en général donnent les mês définitions de base mais pas toujours de la même manière, et surtout entre différent systèmes.
Et la enfin prendre un include unix (en particulier unistd dont le préfixe réfère à unix précisément) et l'utiliser dans un contexte windows et sans couche d'émulation, c'est le plantage garanti.

Bon courage.

Bertrand
0