Eli ongelma on seuraavanlainen,en osaa oikein selittää mut koodi kertoo enemmän kuin tuhat sanaa XD
#include <iostream>
#include <stdlib.h>
#include <conio.h> //getch()
using namespace std;
class MunLuokka
{
public:
int (*ptrFunktio)(); //tähän ois tarkotus varastoida käytettävän
//funktion osoite ja tätä kautta kutsua sitä
MunLuokka(int (*HaluttuFunktio));
};
MunLuokka::MunLuokka(int (*HaluttuFunktio)())
{
ptrFunktio=HaluttuFunktio;
}
int KaytettavaFunktio() //funktio testausta varten
{
return 1337;
}
int main(int argc, char *argv[])
{
int i;
MunLuokka luokka(&KaytettavaFunktio);
i=luokka.ptrFunktio();
cout<<i<<endl;
getch();
return 0;
}Nyt C++ velhot kysyn teiltä, mikä tosson vikana??
Käytän Dev-C++
Muistelisin, että funktioon ei voida käyttää &-merkintää, vaan funktio on jo itsessään viittaus. Eli koeta muuttaa
//Tämä... MunLuokka luokka(&KaytettavaFunktio); //...tällaiseksi ja MunLuokka luokka(KaytettavaFunktio); //alustaja MunLuokka(int (*HaluttuFunktio)); //tällaiseksi MunLuokka(int (*HaluttuFunktio)());
No nyt pelittää, kiitoksia sqwiik!
Aihe on jo aika vanha, joten et voi enää vastata siihen.