Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [c++] _beginthread non accetta come parametro il metodo di una classe??

    Buongiorno. Volevo chiedere come mai a _beginthread (process.h) posso passare una normale funzione e non un metodo di una classe.

    es:

    codice:
    class Classe
    {
    void non_funge(){....};
    };
    int main()
    {
       Classe classe = new Classe();
       _beginthread(classe->non_funge, 0, NULL); // errore
       delete classe;
    return 0;
    }
    Ecco, così non funziona, mentre in questo modo sì:

    codice:
    void funge(){............};
    int main()
    {
       _beginthread(funge, 0, NULL);
    }
    Invece così funziona

    Che escamotage dovrei trovare per poter passare alla suddetta funzione un metodo di una classe?

    Grazie per l'aiuto.

    Ciaoo
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Indica che il metodo è static
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    esistono altri metodi per creare thread senza dichiarare una tale funzione static?
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se il tuo compilatore li supporta usa i std::thread oppure i boost::thread
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    sì, grazie, ho scaricato visual studio 2013 express e sto utilizzando std::thread.

    Grazie ancora, ciaoo
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.