Greetings,

In this age of multicores and multithreaded applications, today at work I did try to mark an entire struct as volatile and I couldn't compile a simple application. Here is a simple replicate:


#include <memory>

using namespace std;

struct Data
{
    shared_ptr<int> p;
};

int main()
{
    static Data volatile cData;
    
    cData.p = make_shared<int>(9);
    
    return 0;
}

volatile.cpp:14:13: error: no viable overloaded '='
   cData.p = make_shared<int>(9);


I think it would be convenient to fix this issue in this age of parallel programming.


Regards,

--
Email Signature
Logo
Phil Bouchard facebook icon
CTO
T: (819) 328-4743
E: phil@fornux.com | www.fornux.com
1188 rue Saint-Louis | Gatineau (Qc), J8T 2L8 Canada
Banner Le message ci-dessus, ainsi que les documents l'accompagnant, sont destinés uniquement aux personnes identifiées et peuvent contenir des informations privilégiées, confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce message par erreur, veuillez le détruire.
This communication (and/or the attachments) is intended for named recipients only and may contain privileged or confidential information which is not to be disclosed. If you received this communication by mistake please destroy all copies.