- Argos: Az vagy, amit megeszel
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- GAI: Retro GPU-k mindörökké: a végleges koncepció, és a szereplők bemutatása
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- sh4d0w: Én és a számítógép
- Viber: ingyen telefonálás a mobilodon
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
jattila48 #3182 üzenetére
Úgy néz ki, megoldódott a probléma. Ha az mfp member function pointert const-nak deklarálom, úgy jól működik. handle_class.h-ban:
int (BodyClass::* const mfp)(int);
handle_class.cpp-ben:
int (BodyClass::* const HandleClass::mfp)(int)=&BodyClass::f;
pimpl_proba.cpp-ben visszaírtam egy utasításba a debug miatt több sorra szedett hívást:
BodyClass *pimpl=hc.pimpl;
n=(pimpl->*hc.mfp)(2);Szerintem const nélkül is jól kéne működnie, úgyhogy a VS-ben lehet hiba. Továbbra sem értem azonban, hogy mi az a "fölöslegesnek" tűnő kód, amit a hívás előtt generál (ez volt hibás ha nem const volt az mfp):
004116D6 cmp dword ptr ds:[4168B4h],0
004116DD jne main+80h (04116F0h)
004116DF mov eax,dword ptr [pimpl]
004116E2 add eax,dword ptr ds:[4168ACh]
004116E8 mov dword ptr [ebp-100h],eax
004116EE jmp main+0A9h (0411719h)
004116F0 mov ecx,dword ptr [pimpl]
004116F3 add ecx,dword ptr ds:[4168B0h]
004116F9 mov edx,dword ptr [pimpl]
004116FC add edx,dword ptr ds:[4168B0h]
00411702 mov eax,dword ptr [edx]
00411704 mov edx,dword ptr ds:[4168B4h]
0041170A add ecx,dword ptr [eax+edx]
0041170D add ecx,dword ptr ds:[4168ACh]
00411713 mov dword ptr [ebp-100h],ecx
00411719 mov esi,esp
0041171B push 2
0041171D mov ecx,dword ptr [ebp-100h]
00411723 call dword ptr ds:[4168A8h]A pimpl-et igazgatja, de nem tudom miért. Másik programomban ez nincs. Valami hasonlót a gcc is csinál. Szerintetek mi lehet ez?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Csúcskategóriás ROG Zephyrus M16 Gamer Laptop (i9, RTX 3070 Ti) Makulátlan Állapotban!
- Eladó Karcmentes Lenovo Tablet P11 - Játékhoz és Filmhez, Strapabíró Fémház!
- HP EliteBook 840 G9 i7-1265U 32GB DDR5 512GB SSD FHD+ Érintőkijelző Garancia 2026.01.15
- HP LaserJet Toner - Fekete W9004MC ÚJ Gyári Dobozában
- MacBook Pro 14 Apple M1 Pro 2021 16GB RAM 512GB SSD 3K Retina kijelző 246 ciklus
- GYÖNYÖRŰ iPhone 12 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3301
- LG 27UN83A-W - IPS LED - 3840x2160 4K - 60Hz 5ms - USB Type-C - HDR 400 - AMD FreeSync - Hangszórók
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
- Bomba ár! Dell Latitude E7450 - i5-5GEN I 8GB I 250GB I 14" FHD I HDMI I Cam I W10 I Garancia!
- HP Omen 80G8E9 - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB Type-C
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest