Hogyan írassam ki a mutató címét? Nem a mutatóban tárolt függvények címére gondolok hanem maga a mutató címére.
// main.cpp
# include <iostream>
using std::cout ;
using std::endl ;
inline void f(int&, int&) ;
inline void j(int&, int&) ;
inline void k(int&, int&) ;
int main(void) {
int x = 4, y = 8 ;
void (*const pf[3]) (int&, int&) = { f, j, k };
pf[2] (x, y) ;
cout << &pf ; //Mindenképp a tömb első elemének a címét kapom :(
cout << endl << x << endl << y ;
return 0 ;
}
inline void f(int &x, int &y) { x *= y ; }
inline void j(int &x, int &y) { y *= x ; }
inline void k(int &x, int &y) { x = y*= y * x ; }
Próbáltam már így is:
pf , &pf ez ugyanazt eredményezi.
Egyébként char típus esetén sem tudom ki íratni :(
int nél tökéletesen működik.
Első válaszoló amit írtál az a függvényke a címe.
Nekem a függvény memóriacímeket tároló változónak a címe kell.
cout << &pf ; //Mindenképp a tömb első elemének a címét kapom :(
Akkor tán próbáld meg indexelni:
pf[0] <- ez ugye az első elem
akkor &pf[0] az első elem címe. 0 helyére írhatsz bármit.
Amúgy mi értelme van inline-ként deklarálni a függvényt? Ha lekéred a címét, akkor mindenképp ki kell fejtenie külön függvényben, különben nem lenne címe.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!