#include <iostream>
#include <atomic>
using namespace std;
typedef enum day{sun =0, mon, tue}day;
int main() {
atomic<day> a(sun);
cout<<a<<endl;
return 0;
}
Приведенный выше код попытается создать переменную enum как атомный тип. Но я получаю следующую ошибку.не может создать тип перечисления как атомный
undefined reference to std::atomic<day>::operator day() const
Имеет ли атомный тип поддержки для перечисления? или любая ошибка в моем синтаксисе? Я использую компилятор g ++, работающий на 32-разрядной машине ubuntu 12.0.4. Спасибо.
Там нет необходимости для C-фразеологического 'ЬурейеГо enum' в C++, хотя я сомневаюсь, что это проблема. – Bathsheba
Какая версия g ++? Я могу только воспроизвести Wandbox с GCC 4.6. –
Я бы сказал, что это ошибка компилятора. 'atomic' может использоваться для всех простых старых типов данных и включает перечисления. – Bathsheba