Здравствуйте, T4r4sB, Вы писали:
TB>Я кажется понял TB>Если HANDLE определить как unsigned long то всё компилится. А если как указатель, то вот так вот
Да, у некоторых компилеров есть такая проблема. Но вроде ULONG_PTR объявлен как unsigned long (для 32х бит), и MSVC канпеляет без вопросов
Здравствуйте, пффф, Вы писали:
П>Но MSVC компилирует, как есть, без каких-либо варнингов
Может с какими-то включёнными опциями расширенний языка? Емнип, MSVC раньше что-то такое использовал (и даже с 4-м уровнем предупреждений не мог компилировать заголовки из Windows SDK).
Здравствуйте, PM, Вы писали:
PM>Может с какими-то включёнными опциями расширенний языка? Емнип, MSVC раньше что-то такое использовал (и даже с 4-м уровнем предупреждений не мог компилировать заголовки из Windows SDK).
Может и так.
PM>А constexpr не помогает? Что-то вроде PM>
Ну, проект собирается студийным компилером, я просто на нем гоняю тулзы на базе шланга, из-за этого код мне менят не дадут. Это раз. Во-вторых, constexpr не гарантирует, что выражение будет обязательно вычислено в компайлтайм. И если сейчас кланг не может это сделать, то почему бы он смог бы это сделать, если мы просто обмажем это дополнительными constexpr'ами?
П>constexpr не гарантирует, что выражение будет обязательно вычислено в компайлтайм
Как это? если слева от = стоит constexpr и при этом не может посчитать то что справа в compile-time, будет ошибка компиляции.
Собралось без ошибок-- значит, посчиталось при компиляции.
Здравствуйте, K13, Вы писали:
П>>constexpr не гарантирует, что выражение будет обязательно вычислено в компайлтайм K13>Как это? если слева от = стоит constexpr и при этом не может посчитать то что справа в compile-time, будет ошибка компиляции. K13>Собралось без ошибок-- значит, посчиталось при компиляции.