Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » methodenproblem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.06.2005, 13:04 Uhr
~keine ahnung
Gast


hallo ich habe folgende methode für ein fourier transformation aus einem buch:


C++:
void fouri(float data[], unsigned long nn, int isign)
{

unsigned long n,mmax,m,j,istep,i;
double wtemp,wr,wpr,wpi,wi,theta;
float tempr,tempi;

n=nn <<1;
j=1;

for (i=1;i<n;i+=2)
{
    if (j>1)
    {
        SWAP(data[j],data[i]);
        SWAP(data[j+1],data[i+1]);
    }
    m=n >> 1;
    
    while (m >= 2&& j > m)
    {
        j -= m;
        m >>= 1;
    }
    j += m;
}

mmax=2;
while (n > mmax)
{
    istep=mmax << 1;
    theta=isign*(6.28318530717959/mmax);
    wtemp=sin(0.5*theta);
    wpr = -2.0*wtemp*wtemp;
    wpi=sin(theta);
    wr=1.0;
    wi=0.0;
    for (m=1;m<mmax;m+=2)
    {
        for(i=m;i<=n;i+=istep)
        {
            j=i+mmax;
            tempr=wr*data[j]-wi*data[j+1];
            tempi=wr*data[j+1]+wi*data[j];
            data[j]=data[i]-tempr;
            data[j+1]=data[i+1]-tempi;
            data[i] += tempr;
            data[i+1] += tempi;
        }
        wr=(wtemp=wr)*wpr-wi*wpi+wr;
        wi=wi*wpr+wtemp*wpi+wi;
    }
    mmax=istep;
}
}




wenn ich die methode jetzt aufrufen will mit:

fouri(myarray,2,1);

bekomme ich folgende fehlermeldungen:

Chromatogramm error LNK2001: Nichtaufgelöstes externes Symbol "public: void __thiscall PeakView::fouri(float * const,unsigned long,int)" (?fouri@PeakView@@$$FQAEXQAMKH@Z)


und:

Chromatogramm fatal error LNK1120: 1 unaufgelöste externe Verweise

was läuft hier schief bei der übergabe von myarray?

mfg patrick

Dieser Post wurde am 20.06.2005 um 13:07 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.06.2005, 13:08 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du hast es scheinbar einmal in einer Klasse PeakView deklariert, jedoch nicht definiert, da du eine globale fouri-funktion angelegt hast. mach ein PeakView::fouri draus und schon sollte es gehen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.06.2005, 13:13 Uhr
~keine ahnung
Gast


immer noch die gleichen fehler. wie meinst du das genau mit deklariert aber noch nicht definiert? brauchst du mehr code? wenn ja was?

mfg patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.06.2005, 13:58 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


geb mal den inhalt von PeakView
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.06.2005, 14:01 Uhr
Airdamn



entweder packst Du die Funktion fouri in der .cpp Datei ganz weit nach oben (unterhalb des Konstruktors sollte reichen ) oder Du machst in die .h Datei:

C++:
void fouri(float data[], unsigned long nn, int isign);


und in der .cpp Datei:

C++:
void PeakView::fouri(float data[], unsigned long nn, int isign)
{
...
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.06.2005, 19:12 Uhr
~keine ahnung
Gast


läuft jetzt - die methode musste noch ein bisschen an mein programm angepasst werden. danke euch
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: