logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Konwersja adresów w C++. Bieżący adres struktury.

rpal 25 Wrz 2010 14:36 1053 2
REKLAMA
  • #1 8548833
    rpal
    Poziom 27  
    męczę się z głupim problemem możliwe że mam zaćmienie umysłu.
    Mam wskażnik do struktury i zmienną typu void wskazującą na zarezerwowany obszar pamięci przez malloc. Jak dokonać zmiany bieżącego adresu struktury na obszar pamięci zarezerwowny przez maloc? Kompilatór ciągle wywala mi błędy a kiedyś to robiłem tyko mi się zapomniało jak?
    Poprawiłem i temat i treść bo kłopot dotyczy C++ w C nie miałem tych kłopotów.
  • REKLAMA
  • Pomocny post
    #2 8548979
    sulfur
    Poziom 24  
    struct asdf
    {
    	int i;
    };
    
    int
    main()
    {
    	asdf *a;
    	void *wsk;
    
    	a = reinterpret_cast<asdf*>(wsk);
    	a = static_cast<asdf*>(wsk);
    	a = (asdf*)wsk; // styl c, nie zalecany
    }


    Cytat:
    [sulfur@sulfur-lenovo ~]$ g++ test.cpp -Wall
    test.cpp: In function ‘int main()’:
    test.cpp:12: warning: ‘wsk’ is used uninitialized in this function
    [sulfur@sulfur-lenovo ~]$ g++ --version
    g++ (GCC) 4.4.1
    Copyright (C) 2009 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    [sulfur@sulfur-lenovo ~]$


    czy użyć reinterpret, czy static nie wiem. Musisz poszukać u źródeł.
REKLAMA