Исключение с плавающей точкой со статическим встроенным std :: unordered_map <...> в ICC - PullRequest
0 голосов
/ 03 февраля 2019

Следующий код компилируется и работает правильно с GCC 8.2.0 (используя -std=c++17).Он также компилируется с Intel ICC 19.0.1.144, но выдает «исключение с плавающей точкой» при попытке получить доступ к «карте» в конструкторе.

#include <iostream>
#include <unordered_map>

struct A {
    static inline std::unordered_map<int, int> map;
    A(){
        map[1] = 2;
    }
};

int main(){
    A a;
}

Аналогичный код с примитивом или 'std :: vector'вместо' std :: unordered_map ', кажется, работает.

Это проблема с компилятором Intel?Он должен поддерживать встроенные переменные, в соответствии с this .

...