-
IT café
Új hozzászólás Aktív témák
-
emitter
őstag
válasz emitter #1476 üzenetére
és mégegy hiba, amire nem tudok rájönni:
emitter@LAPTOP:~/BME_nemet/Prog2/Nagyhazi$ g++ -Wall -o server_oop server_oop.cpp
server_oop.cpp: In member function 'void myConn::buildConn(int, int&, sockaddr_in&)':
server_oop.cpp:71: error: argument of type 'void (myConn:: )(int)' does not match 'void (*)(int)'
ezt erre a sorra dobja:
sa.sa_handler = sigchld_handler; //levag minden halott folyamatot
ez a sor ugyanis a buildConn() fv-ben van, ami a private részben van.
előtte szintén a private részben van egy ilyen fv:
void sigchld_handler(int s){
while(wait(NULL) > 0);
}
amíg nem írtam át a progit osztályosra, addig simán működött a dolog
[Szerkesztve] -
Jester01
veterán
válasz emitter #1476 üzenetére
Destruktort (általában) nem kell meghívni, az meghívódik az objektum megszûnésekor magától. Ha mégis meg akarod hívni (de most nem ) akkor simán metódushívással (objektumpéldányra!)
A másik problémádra: az a baj, hogy a tagfüggvények implicit elsõ paraméterként megkapják az objektumra mutató pointert (this). Igy aztán már nem egyezik a prototípus. Csinálj belõle static metódust, az nem kap this pointert. Viszont abban ebbõl kifolyólag nem is hivatkozhatsz nem static tagokra.
MOD: ja és a send()-nek természetesen úgy mondod meg, hogy egy tagfüggvénybe rakodm, ezáltal elrejtve az implementációt.
[Szerkesztve]Jester
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- AKCIÓ Új Dobozos Macbook Pro dokkoló új ára 70.000 forint
- ThinkPad Hybrid USB -C USB -A Dock 40AF Új ára 80.000 Forint Ingyen szállítás
- Xiaomi Redmi Note 9s 128/6 GB 34.9E !!!
- Új Hp Pavilion 15-eh Fémházas Szuper Laptop 15,6" -30% AMD Ryzen 7 5700U 8Mag 16/1TB FHD MATT
- ATI RADEON RX 480 -8 gb DDR5 256 bit videokártya