1
เหตุใด std :: atomic constructor จึงมีความแตกต่างใน C ++ 14 และ C ++ 17
ฉันทำงานในโครงการที่มี C ++ 11 และฉันลองใช้รหัสต่อไปนี้ #include <atomic> struct A { std::atomic_int idx = 1; }; int main() { return 0; } ฉันได้รับข้อผิดพลาดของคอมไพเลอร์ error: use of deleted function 'std::__atomic_base<_IntTp>::__atomic_base(const std::__atomic_base<_IntTp>&) [with _ITp = int]' std::atomic_int idx = 1; ^ ผลลัพธ์เดียวกันคือกับ C ++ 14 เมื่อฉันเปลี่ยนเป็น C ++ 17 มันใช้งานได้: wandbox ฉันตรวจสอบความแตกต่างของ cppreference: …