base operand of '->' is not a pointer
Ostatnio zmodyfikowano 2013-08-08 11:27
megatron Temat założony przez niniejszego użytkownika |
base operand of '->' is not a pointer » 2013-08-07 19:31:59 Witam serdecznie. Na początek powiem, że zakjąłem się "bardzo" niskopoziomową biblioteką - plib. Mam taki kawałek kodu: SOCKET sockr; sockr = new netSocket(); sockr->open( false );
I jak pewnie już każdy się "skapnął"... błąd(base operand of '->' is not a pointer|) wskazuje w trzeciej linijce. Wszystkie biblioteki mam zainstalowane i nie mam pojęcia co to może być. Z góry dziękuję za pomoc. Pozdrawiam. |
|
SeaMonster131 |
» 2013-08-07 19:46:45 A nie tak? SOCKET * sockr = new netSocket(); sockr->open( false );
|
|
megatron Temat założony przez niniejszego użytkownika |
» 2013-08-07 19:49:39 request for member 'open' in 'socks', which is of non-class type 'SOCKET {aka unsigned int}' #@#EDIT#@# @up próbowałem już ten przykłąd cannot convert 'netSocket*' to 'SOCKET* {aka unsigned int*}' in initialization #@#EDIT_2#@# @SeaMonster131 przed edycją napisałeś sockr.open( false ); i to pomogło z cannot convert 'netSocket*' to 'SOCKET* {aka unsigned int*}' in initialization i jest kolejny problem: request for member 'open' in 'socks', which is of non-class type 'SOCKET {aka unsigned int}' |
|
megatron Temat założony przez niniejszego użytkownika |
» 2013-08-07 20:34:15 to wygląda jak bym czegoś nie zainkludował :/ #@#EDIT#@# kod zadziałał. poprostu zrobiłem to tak: netSocket socks; netSocket sockr;
socks.open( false ); sockr.open( false ); ale konsola wywala coś dziwnego ;/ Irrlicht Engine version 1.8.0 Microsoft Windows 7 Ultimate Edition Service Pack 1 (Build 7601) Irrlicht Engine version 1.8.0 Microsoft Windows 7 Ultimate Edition Service Pack 1 (Build 7601) Using renderer: OpenGL 4.3.0 GeForce GT 430/PCIe/SSE2/3DNOW!: NVIDIA Corporation OpenGL driver version is 1.2 or better. GLSL version: 4.3 Resizing window (1440 884) Assertion failed: handle != -1, file D:\programowanie\biblioteki_i_silniki\plib- 1.8.5-rc1\plib-1.8.5-rc1\src\net\netSocket.cxx, line 192
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
Process returned 3 (0x3) execution time : 1.573 s Press any key to continue.
z góry dziękuję za pomoc |
|
ridic14 |
» 2013-08-07 21:45:25 Zrobiłeś coś na co biblioteka plib nie pozwala: Assertion failed: handle != -1 #edit: musisz użyć wskaźnika na SOCKET. Wskaźnik musi wskazywać twoją klasę (dziedziczącą po netSocket) << czyli musisz sam napisać sobie klasę |
|
DejaVu |
» 2013-08-07 21:52:11 Wracając do błędu z tematu - pojawia Ci się on dlatego, że netSocket jest obiektem, a Ty próbujesz ten obiekt zapisać po pierwsze do typu SOCKET, a po drugie wywołać metodę w czymś co jest typu SOCKET, a nie typu netSocket. http://docs.freeflightsim.org/plib/netSocket_8h_source.htmlPS. Jeden temat = jeden problem. |
|
megatron Temat założony przez niniejszego użytkownika |
» 2013-08-08 11:27:31 o jaaa... poprostu złą kompilację pliku libnet.a podawałem w linkerze - Release zamiast Debug :D i wszystko jest w porządku.
PS. zauważyłem, że te moje ostatnie posty wyglądają jak "trochę" rozrzucone kursy ;) Dzięki za odpowiedzi i pozdrawiam.
|
|
« 1 » |