Je travaille avec Qt C++5.3 Comment lire une table déclarée static double dans n' importe quel classe du programme
voici en exemple le problème


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
/**************** Commondef.h***********************/
//déclaration des variables
#define BUFFER_LENGTH 4096
 static double voltagefft[BUFFER_LENGTH];

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
/****************** uanalyseraudioinput.cpp********************/
#include "uAnalyserAudioInput.h"
#include "CommonDefs.h"
void uAnalyserAudioInput::bufferUpdated(qint64 bytesWritten){
for (int i=0,j=0; i< m_bufferLength; i++, j+=2){
(*voltage)[i] = (double)(outputByteArray->at(j+1)*256 + outputByteArray->at(j))/32767.0;
voltagefft[i ] = (*voltage)[i]; // ici initialisation de la table
 
qWarning()<< i<< voltagefft[i];  // ICI la table  "voltagefft[]"  a bien les valeurs de  "(*voltage)[]"
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//autre fichier, autre classe ICI toutes les valeurs sont à zero
/*******************unalyserchannel.cpp**********************/
#include "uanalyseraudioinput.h"
#include "uanalyserchannel.h"
#include "CommonDefs.h"
 
void uAnalyserChannelTrace::calculatePainterPath(){
for (int i=1, j=1; j < sweep_bound ; i++,j= j+a) {
 
        x_coord = j; //* (u_Sweep_pix/timeBase);
         y_coord = voltagefft[i] *u_Sweep_pix/yGain;
        painterPath.lineTo(x_coord, y_coord );
 
 qWarning()<< i<< voltagefft[i];  // ICI  PROBLEME : TOUTES LES VALEURS SONT A ZERO
    }
Merci de m'expliquer que d' après le c++ une valeur static est accessible pour tout le programme !!!!!!
Que dois-je faire