2010-06-27 5 views
-1

Ce code compile bien dans VC++ mais dans borland C++ me donne cette erreur .. Le code n'a pas d'erreurs de syntaxe et fonctionne très bien .. On dirait qu'il ya un problème avec l'en-tête .. Mais ce sont les têtes standard et les fichiers de bibliothèqueerreur avec bC++ et GLUT

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland 
main.c: 
Error E2337 c:\Borland\Bcc55\include\glut\glut.h 146: Only one of a set of verloadedfunctions can be "C" 
+2

S'il vous plaît poster plus de code. Il est difficile de vous aider lorsque la seule chose que nous avons est le message d'erreur. – PeterK

+4

il suffit d'utiliser des outils modernes? sérieusement, bC++ ... –

+1

Désinstaller ce compilateur. Problème résolu. –

Répondre

4

L'erreur est due à des fonctions surchargées traitées comme des fonctions en langage C. Parce que la langue « C » n'a pas la surcharge ne peut avoir une fonction d'un nom donné. Apparemment, GLUT a une fonction qui a le même nom qu'une autre fonction du programme. Cela peut être votre propre fonction (il suffit de vérifier la ligne de glut.h (146 ou à peu près) pour voir si vous avez un nom dupliquées. Votre main.c est un programme « C » si cela forcera la compilation en langage C (à moins que vous Vous pouvez essayer de renommer votre code en "main.cpp" et de le recompiler

Une autre possibilité est que les DEFINES ne sont pas configurées pour inclure correctement le GLUT et que GLUT lui-même essaie de définir des fonctions surchargées avec le même nom.Cela est probablement peu probable car je pense que GLUT est compilable dans "C"

Voici un morceau de code qui forcera l'erreur afin que vous puissiez voir pourquoi cela se produit. commuter la commentant autour de la deuxième sous-programme « d'somefunc ». Envoyer ce code comme C++ (ie. MonFichier.cpp).

// 
// Program myfile.cpp 
// 

#include <stdio.h> 

extern "C" float somefunc(int a) { return(a); }; 

// Un-comment one of the following two lines. 
extern "C" float somefunc(float a) { return(a); }; // This line should produce the error. 
// float somefunc(float a) { return(a); };   // This line should compile. 


void main(void){ 
    printf("Hello World!\n"); 
} 

Bonne chance,

/Alan

+0

merci une tonne! problème était avec la sortie fn dans glut et stdlib .. – Laz

Questions connexes