autre erreur pr linitialisation de matrice

autre erreur pr linitialisation de matrice - C++ - Programmation

Marsh Posté le 19-10-2005 à 22:41:10    

maintenant que j'ai fini de coder des opération sur des complexe, je voulais initialiser une matrice dt le code est

Code :
  1. #define PI 3.14159265358979323846
  2. void init_w(int N)
  3. {
  4. int n=N/2;
  5. float w[n][2];
  6. for (int i=1; i<N/2; N++)
  7. {
  8. w[i][0]=cos (-2*PI/8);
  9. w[i][1]=sin (-2*PI/8);
  10. cout << "Facteur de rotation no" << n << "=" << w[i][0] << "+i" << w[i][1] << endl;
  11. }
  12. }


 
mais ca ma mets 2 erreurs: "expected constant expression" et "cannot allocate an array of constant size 0", je ne comprend pas ce que ca signifie??!

Reply

Marsh Posté le 19-10-2005 à 22:41:10   

Reply

Marsh Posté le 19-10-2005 à 22:45:15    

il y a un problème mais 2 solution :
 
- tu codes en C99 et ton code, modulo les "cout", sera bon
- tu codes en C++ et tu apprends qu'une taille de tableau sur la pile du type

Code :
  1. int tab[N];


ne marche que avec N constante littérale ce qui n'est pas le cas ici avec ton N en paramètre.
 
alors tu fais

Code :
  1. vector<vector<float> > w(n, vector<float>(2));


 
edit :
une boucle for classique c'est

Code :
  1. for (int i=0 ; i<N/2 ; i++)


 
et pas cet horrible

Code :
  1. for (int i=1; i<N/2; N++)

qui tournera indéfiniement en sautant la première itération.


Message édité par jesus_christ le 19-10-2005 à 22:49:03
Reply

Marsh Posté le 19-10-2005 à 22:52:53    

alors, je veux bien te croire sur parole, mais en faisant ca j'ai 10 erreurs de plus....c'est quoi ce "vector", faut que j'inclue un .h quelconque?

Reply

Marsh Posté le 19-10-2005 à 22:59:52    

#include <vector>

Reply

Marsh Posté le 19-10-2005 à 23:05:18    

et sache que + t'as d'erreurs, plus la cause est simple.
Si un jour t'as 320 erreurs c'est que t'as juste oublié une accolade ;)

Reply

Marsh Posté le 19-10-2005 à 23:16:46    

oui mais j'ai essayé, mais faut que j'ajoute common.h pis ensuite un tas d'autre .h "types.h","socket.h","in.h".... que j'ai pas...ca n'en fini plus.....comment je fais?

Reply

Marsh Posté le 19-10-2005 à 23:17:53    

ben tu mets ceux dont t'as besoin
un petit #include <windows.h> ne suffirait-il pas ?

Reply

Marsh Posté le 20-10-2005 à 21:58:40    

non, justement, je dois en ajouter de plus en plus, car chaque #include, demande un autre #include et ca n'en fini jamais, j'ai déja eu ce pb en voulant reprendre un prog tout fait, mais j'ai abandonné a cause des #include.....comment faire?

Reply

Marsh Posté le 20-10-2005 à 22:25:50    

il doit y avoir un #include qui inclut tout d'un coup. Si c'est pas windows.h ça doit en être un autre, désolé je ne les connais pas par coeur.
#include <commcrtl.h> ??
#include <winsock.h> ??
je suis pas sûr, désolé

Reply

Marsh Posté le 21-10-2005 à 22:26:46    

o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed