Partage
  • Partager sur Facebook
  • Partager sur Twitter

l'expression doit avoir une valeur constante

visual studio 2010

9 février 2018 à 13:40:42

Bonjour,

J'ai écrit un programme en C sur visual studio 2010. Mais j'ai des erreurs que j'ai pas arrivé à les corriger:

1IntelliSense : l'expression doit avoir une valeur de constante

2 IntelliSense : l'expression doit avoir une valeur de constante

voici le code:

L'erreur se produit au niveau bool subset[sum+1][n+1];

voilà le fichier model.h

J'ai pas compris d'ou viennent ces erreurs?

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 13:59:52

Salut,

Pourquoi il y a du code dans ton fichier.h de déclaration ? Pourquoi ce code n'est-il pas dans une fonction ?

  • Partager sur Facebook
  • Partager sur Twitter

Bonhomme !! | Jeu de plateforme : Prototype.

9 février 2018 à 14:04:46

Bonjour,

A cette ligne tu essaies de créer un tableau dont taille est définie par une variable (sum).

Certains compilateurs n'acceptent pas cela et les anciennes normes ne l'autorisent pas (c'est indiqué dans le cours).

Tu peux regarder du coté des options de ton compilateur, ou définir un tableau avec une taille fixe ou encore utiliser l'allocation dynamique.

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 14:05:28

C'est à la ligne 16, l'erreur, c'est bien ça ? Il s'agit d'une déclaration de tableau. Normalement, la taille du tableau doit être constante, c'est ce qu'indique le message d'erreur. Cela dit, je sais qu'il est possible de déclarer des tableaux de taille variable depuis le C99, mais peut-être ton compilateur n'est-il pas à jour ?

(Ah, j'ai tapé ma réponse en même temps qu'OlivierPlesi, du coup c'est redondant...)

-
Edité par robun 9 février 2018 à 14:06:22

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 14:15:03

j'ai testé le même code sur un pc mac et il a bien fonctionné, mais sur mon pc il n'a pas marché.

Avez-vous une idée c'est quoi le problème? 

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 14:21:03

Ton code c'est du C++ ! (on est sur le forum C).

Aussi : très important, pour poster du code sur le forum, il faut utiliser le bouton code </> du forum ! Ça multipliera tes chances d'avoir une réponse par 10 ! 

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 14:38:58

Oui nous avons une idée, robun et moi te l'avons dite.

Je ne pense pas que tu ais vu une déclaration de tableau dont la taille est une variable dans le cours.

Après si tu fais cela, tu prends le risque que ça ne marche pas partout, comme dans ton cas.

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 15:12:01

Surtout que ce n'est pas autorisé en C++ !
  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 15:20:03

SabrineIsmail1 a écrit:

j'ai testé le même code sur un pc mac et il a bien fonctionné, mais sur mon pc il n'a pas marché.

Avez-vous une idée c'est quoi le problème? 

Tu ne lis pas les réponses ?

L'hypothèse est que tu as peut-être, sur le PC, un compilateur relativement ancien (C89) qui n'accepte pas les tableaux de taille variable. Ça se trouve, l'autre machine, elle, a un compilateur plus récent. À toi de vérifier ça.

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 15:43:35

robun a écrit:

Tu ne lis pas les réponses ?

L'hypothèse est que tu as peut-être, sur le PC, un compilateur relativement ancien (C89) 

Tu n'a pas vu, ou pas lu, que c'était du C++ ?

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 16:28:52

Je vous remercie pour vos réponse. 

Comment je peut connaitre que le compilateur est C89 ou C99 ?

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 17:26:26

Il faut déjà savoir si tu veux faire du C ou du C++ ?
  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 18:36:23

rouloude a écrit:

Ton code c'est du C++ ! (on est sur le forum C).

Alors il faut poser ta question sur le forum C++ !



  • Partager sur Facebook
  • Partager sur Twitter
12 octobre 2021 à 20:43:11 - Message modéré pour le motif suivant : Message complètement hors sujet


12 octobre 2021 à 22:01:04

@StyvePankoue Bonsoir, merci de ne pas déterrer d'ancien sujet.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter