void (Luokka::*pFunktio) ();
pFunktio = Luokka::tulostaMuuttuja;
tuo alempi rivi aiheuttaa virheen käännöksessä (dev-C ) eli mitä on vikana?
tässä sitten koko koodi jos sillä on jotain merkitystä tuohon virheeseen
#include
using namespace std;
class Luokka
{
public:
Luokka();
~Luokka();
static int annaStaattinenMuuttuja() {return staattinenMuuttuja;}
static void asetaStaattinenMuuttuja(int arvo);
int annaMuuttuja() {return muuttuja; }
void asetaMuuttuja(int luku);
void tulostaMuuttuja();
private:
static int staattinenMuuttuja;
int muuttuja;
};
int Luokka::staattinenMuuttuja = 0;
Luokka::Luokka()
{
staattinenMuuttuja ;
}
Luokka::~Luokka()
{
staattinenMuuttuja--;
}
void Luokka::asetaMuuttuja(int luku)
{
luku = 0;
muuttuja = luku;
}
void Luokka::tulostaMuuttuja()
{
cout
Osoitin jäsenfunktioon
12
602
Vastaukset
noniin nyt se toimi kun heitin & merkin ton eteen
pFunktio = &Luokka::tulostaMuuttuja;
muuten vielä yksi kysymys mistä tuo jäsenmuuttuja "muuttuja" saa arvokseen 4072496 onko se vain jotain muistiin jäänyttä roinaa vai mitä?- mitä tarkoittaa
mitä tässä tapahtuu?
void (Luokka::*pFunktio) (); - uidshfhio
sattumanvaraista roinaa se on. alusta se konstruktorissa nollaksi
- sen kertoo
mitä tarkoittaa kirjoitti:
mitä tässä tapahtuu?
void (Luokka::*pFunktio) ();mikä pFunktio on
- siinä on
sen kertoo kirjoitti:
mikä pFunktio on
tuo "Luokka::" osa? eikö void (*p)(); ajaisi saman asian? (p on pointteri void funktioon, joka ei ota parametreja)
- pieni ero
siinä on kirjoitti:
tuo "Luokka::" osa? eikö void (*p)(); ajaisi saman asian? (p on pointteri void funktioon, joka ei ota parametreja)
sen funktion käyttö vaatii olion, toisin kuin mainitsemasi pointteri tavalliseen funktioon.
- ei jymmärrä
pieni ero kirjoitti:
sen funktion käyttö vaatii olion, toisin kuin mainitsemasi pointteri tavalliseen funktioon.
Jos määrittelen void (*p)(); ja minulla on luokka
A, jossa on metodi void metodi();. ja luon luokasta A instanssin a, niin miksi p:lle ei voi asettaa a.metodi arvoa? Tuossahan a on yksi tietty instanssi ja a.metodi määrää yksikäsitteisesti mihin p:n pitääpi osoitella?
En myöskään ymmärrä miksi suoran funktiopointterin voi asettaa p=func, kun tässä tapauksessa pitää laittaa p = &luokka::metodi? Miksi tarvitaan toi &-merkki alkuun kun pelkän funktion tapauksessa ei tarvisi? - lisää
ei jymmärrä kirjoitti:
Jos määrittelen void (*p)(); ja minulla on luokka
A, jossa on metodi void metodi();. ja luon luokasta A instanssin a, niin miksi p:lle ei voi asettaa a.metodi arvoa? Tuossahan a on yksi tietty instanssi ja a.metodi määrää yksikäsitteisesti mihin p:n pitääpi osoitella?
En myöskään ymmärrä miksi suoran funktiopointterin voi asettaa p=func, kun tässä tapauksessa pitää laittaa p = &luokka::metodi? Miksi tarvitaan toi &-merkki alkuun kun pelkän funktion tapauksessa ei tarvisi?http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=142&rl=1
ja ehkä tuoltakin:
http://blogs.msdn.com/the1/articles/210013.aspx - kyll maar näin o
lisää kirjoitti:
http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=142&rl=1
ja ehkä tuoltakin:
http://blogs.msdn.com/the1/articles/210013.aspxTuolla kyllä kerrotaan miten, mutta ei *miksi*. Tässä on nyt jokin näkymätön c perversio takana, joka ei minulle aukea (tai en jaksa juuri nyt keskittyä noihin artikkeleihin, koitan huomenna täysipäisempänä uusiksi).
lisää kirjoitti:
http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=142&rl=1
ja ehkä tuoltakin:
http://blogs.msdn.com/the1/articles/210013.aspxpFunktio = &Luokka::tulostaMuuttuja;
pFunktio = Luokka::tulostaMuuttuja;
tuon toisen linkin perusteella noitten molempien pitäisi toimia mutta minulla toimi vain tuo ensimmäinen, onko se kääntäjästä kiinni (dev-C )?- kiinni
filosofia kirjoitti:
pFunktio = &Luokka::tulostaMuuttuja;
pFunktio = Luokka::tulostaMuuttuja;
tuon toisen linkin perusteella noitten molempien pitäisi toimia mutta minulla toimi vain tuo ensimmäinen, onko se kääntäjästä kiinni (dev-C )?uudemmat tukevat vain &-versiota
- jaetaan nyt tännekin
kyll maar näin o kirjoitti:
Tuolla kyllä kerrotaan miten, mutta ei *miksi*. Tässä on nyt jokin näkymätön c perversio takana, joka ei minulle aukea (tai en jaksa juuri nyt keskittyä noihin artikkeleihin, koitan huomenna täysipäisempänä uusiksi).
http://groups.google.com/group/sfnet.atk.ohjelmointi/msg/2974f6e7260aff7a
Josta:
"Sain meriselityksenä, että kääntäjä kääntää metodin void A::metodi() muotoon void metodi_A(A *this) (tjsp.) eli parametrilistaan lisätään "salainen" osoitin kyseiseen luokkaan ja sille annetaan arvoksi se instanssi, mikä metodin osoittimeen viisaa. Jos siis on void (A::*p)(), a = new A(), p =&A::metodi ja myöhemmin (a.*p)();, niin itseasiassa metodi esitellään void metodi_A(A *this) ja p:n esittelyssä tarvitaan A:: jotta tiedetään p:n ottavan parametrinaan osoittimeen johonkin A:n instanssiin. Kutsussa (a.*p)(); sitten tuupataan parametriksi &a josta saadaan siis käyttöön *this."
En tiedä onko tämä lopullinen totuus.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
SDP palauttaa Suomen kansalle kulta-ajat
Hyvinvointivalto on pääosin SDP:n ja osin myös Maalaisliiton rakentama. Hyvinvointivaltion ylläpito edellyttää oikeude18014869Aamun Riikka: työttömyydessä lähestytään viime laman synkintä vaihetta
Nopeasti mentiiin upean Marinin hallituksen ennätystyöllisyydestä toiseen ääripäähän, kohti Suomen historian kurjimpia t11810425Älkää vassarit kuvitelko, että Marinin kulta-ajat palaavat
Vaikka demarit voittaisivat seuraavat vaalit, se ei palauta Marinin taskut-täyteen-kelasta-aikaa takaisin, ei voi eikä h1069279Suomen velka kasvoi ennätysvauhtia - Mäkynen repostelee
– Velka kasvoi eniten tilaston historiassa, Mäkynen kirjoittaa. – Vuoden 2025 toisella neljänneksellä selvästi eniten k449104Persut JYTKYTTÄÄ ylös, ohi kepun! +2,1 %
Persut palasi kolmen suurimman joukkoon ja on matkalla kohti kevään 2027 eduskuntavaalivoittoa. Sosialistit ovat syöksy668723Giorgia Meloni vs Riikka Purra
Kyllä Italian pääministeri on kauniimpi ja seksikkäämpi, kuin Suomen valtiovarainministeri Riikka Purra. Mitä jotkut näk526880Johtuuko vasemmistolaisten inho kristinuskoa kohtaan heidän islamin uskostaan?
Tätä jäin pohdiskelemaan.1796465Ohhoh. Kokoomusvirkamiehen mukaan Suomessa ei ole työttömyyskriisiä
Kun kokoomuksen johtama hallitus epäonnistuu täydellisesti talouspolitiikassaan, niin aikaisemmin erittäin pahaksi määri305553Gallup, PS:lle JÄRISYTTÄVÄ nousu, SDP suurin laskija
https://yle.fi/a/74-20186114 PS kovaa vauhtia nousemassa ennen 2027 vaaleja suurimmaksi puolueeksi. Nyt mennään jo etua1505324Polttomoottoriauto tulessa parkkihallissa Tampereella
Pystyy näkemättä jo sanomaan, koska sähköautoissa ei ole palavia nesteitä lainkaan. Ihme ettei polttomoottoriautoja ole413825