Problème de compilation (VC++)

Signaler
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Est-il normal que le code suivant génère une erreur à la compilation ? (Avec Visaul C++ 6.0)

int main()
{
int i=5;
char c[i];
return 0;
}

4 réponses

Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

J'ai testé sous Dev C++ et ça marche nickel.
Ça doit venir de VC++.

Dean
http://kickme.to/apz
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Oui car tu fais un "mix" d'allocation dynamique et statique de ton tableau. Soit tu utilises l'allocation dynamique à 100% (new), soit l'allocation statique à 100% (en rendant i constant ou en utlisant une macro).
Messages postés
59
Date d'inscription
lundi 31 décembre 2001
Statut
Membre
Dernière intervention
11 mai 2006

ouai, c'est paske DevCpp est beuacoup moins strict que VC++
Il passe au dessus de certains chtits problèmes, ...

=============================

Funcky 8-)

=============================

On dit que seulement dix personnes au monde comprenaient Einstein. Personne ne me comprend. Suis-je un génie ?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Merci pour vos remarques.
en effet ca marche avec gcc et pour que ca marche avec vc+ il faut utiliser la fonction malloc :

#include <malloc.h>

int main()
{
int i= 5;
char *c = (char *)malloc(sizeof(char)*i);
return 0;
}