Я успешно скомпилировал исходный предложенный код OP's
в Visual Studio 2017 CE версии 15.8.6 с языковым стандартом моего компилятора, установленным на ISO C++ Latest Draft Standard (/std:c++latest)
в моих настройках IDE's
, и моя машина работает под управлением Windows 7 64bit Ultimate.Я собрал и отредактировал код в режиме Debug - x86
.
Я даже зашел так далеко и сделал вызов его функции f()
в main, и он все еще собирался, компилировался, работал и выходил без ошибок.
Затем он ответил в комментариях:
Мой компилятор - Clang 7.0 на Windows
Я не знаю, является ли это ошибкойв Clang's
компиляторе или, если Clang
просто интерпретирует его по-разному.
Возможно, попробуйте скомпилировать исходную попытку с другими компиляторами, если можете, попробуйте GCC
или другую версию Clang
и посмотритеесли вы получите другие результаты.
Это что-то интересное, и я считаю, что нужно провести дополнительное расследование, чтобы определить, связано ли оно конкретно с Clang's
компилятором.