È possibile utilizzare la volatile per oggetti di classe? Come:Definizione dell'oggetto classe volatile
volatile Myclass className;
Il problema è che non si compila, ovunque quando un metodo viene richiamato, l'errore dice: errore C2662: 'funzione': non è in grado di convertire puntatore 'this' da 'MyClass volatili 'a 'MyClass &'
qual è il problema qui e come risolverlo?
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);
Si noti che in C++, 'volatile' non garantisce la sicurezza del thread. Questo è diverso da, per esempio, .NET, dove funziona. – sbi