Kann das Volatile für Klassenobjekte verwendet werden? Like:Variables Klassenobjekt definieren
volatile Myclass className;
Das Problem ist, dass es nicht kompiliert, überall, wenn eine Methode aufgerufen wird, wird der Fehler sagt: Fehler C2662: ‚Funktion‘: nicht konvertieren kann ‚diesen‘ Zeiger von ‚flüchtiger MyClass 'zu' MyCLass & '
Was ist das Problem hier und wie man es löst?
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);
Beachten Sie, dass 'volatile' in C++ keine Thread-Sicherheit garantiert. Das ist anders als zum Beispiel .NET. – sbi