Le volatile peut-il être utilisé pour les objets de classe? Comme:Définition d'un objet de classe volatile
volatile Myclass className;
Le problème est qu'il ne compile pas, partout quand une méthode est invoquée, l'erreur dit: erreur C2662: « fonction »: ne peut pas convertir pointeur « this » de « MyClass volatile 'à' MyCLass & '
Quel est le problème ici et comment le résoudre?
EDIT:
class Queue {
private:
struct Data *data;
int amount;
int size;
public:
Queue();
~Queue();
bool volatile push(struct Data element);
bool volatile pop(struct Data *element);
void volatile cleanUp();
};
.....
volatile Queue dataIn;
.....
EnterCriticalSection(&CriticalSection);
dataIn.push(element);
LeaveCriticalSection(&CriticalSection);
Notez qu'en C++, «volatile» ne garantit pas la sécurité des threads. C'est différent de, par exemple, .NET, où c'est le cas. – sbi