Название: MinGW и указатель как аргумент шаблона Отправлено: System от Февраля 04, 2015, 11:00 Имеется следующий код:
Код Код прекрасно компилируется в vc2013, но не в MinGW (mingw-builds i686-4.9.2-release-posix-sjlj-rt_v3-rev1). Выдаёт ошибку: Код: main.cpp: In function 'int main()': Название: Re: MinGW и указатель как аргумент шаблона Отправлено: Пантер от Февраля 04, 2015, 11:04 Зачем вообще это нужно? Название: Re: MinGW и указатель как аргумент шаблона Отправлено: System от Февраля 04, 2015, 11:20 Это упрощённый пример. Нужно следующее:
Код
Это - обёртка над дескрипторами Windows. INVALID_HANDLE_VALUE MinGW не жрёт, ругается. Название: Re: MinGW и указатель как аргумент шаблона Отправлено: Swa от Февраля 04, 2015, 12:06 Стандарт:
Цитировать For C++ 11, non-type template arguments are restricted to the following (§14.3.2/1): A template-argument for a non-type, non-template template-parameter shall be one of: for a non-type template-parameter of integral or enumeration type, a converted constant expression (5.19) of the type of the template-parameter; or the name of a non-type template-parameter; or a constant expression (5.19) that designates the address of an object with static storage duration and external or internal linkage or a function with external or internal linkage, including function templates and function template-ids but excluding non-static class members, expressed (ignoring parentheses) as & id-expression, except that the & may be omitted if the name refers to a function or array and shall be omitted if the corresponding template-parameter is a reference; or a constant expression that evaluates to a null pointer value (4.10); or a constant expression that evaluates to a null member pointer value (4.11); or a pointer to member expressed as described in 5.3.1. Т.е. аргументы шаблона должны существовать и быть константными на момент компиляции. Название: Re: MinGW и указатель как аргумент шаблона Отправлено: System от Февраля 04, 2015, 12:26 Мда... Получается, что можно только глобальную переменную или NULL? Мне это ограничение кажется несколько нелогичным.
То есть GCC более строго следует стандарту а VC менее строго и разрешает то, чего быть не должно? Придётся извращаться через ULONG... Название: Re: MinGW и указатель как аргумент шаблона Отправлено: Пантер от Февраля 04, 2015, 12:27 То есть GCC более строго следует стандарту а VC менее строго и разрешает то, чего быть не должно? А для тебя это новость? О_оНазвание: Re: MinGW и указатель как аргумент шаблона Отправлено: System от Февраля 04, 2015, 14:41 А для тебя это новость? О_о Вообще-то да... :-\Название: Re: MinGW и указатель как аргумент шаблона Отправлено: Пантер от Февраля 04, 2015, 14:45 У нас в команде из 6 человек на Линухе сидят двое (в том числе я). Частенько приходится вычищать ворнинги и ошибки сборки после того, как коллеги-виндузятники коммитят свой кот, собирающийся под студией.
Название: Re: MinGW и указатель как аргумент шаблона Отправлено: __Heaven__ от Февраля 04, 2015, 15:04 У нас в команде из 6 человек на Линухе сидят двое (в том числе я). Частенько приходится вычищать ворнинги и ошибки сборки после того, как коллеги-виндузятники коммитят свой кот, собирающийся под студией. Не предлагали им clang?Название: Re: MinGW и указатель как аргумент шаблона Отправлено: Пантер от Февраля 04, 2015, 15:06 У нас в команде из 6 человек на Линухе сидят двое (в том числе я). Частенько приходится вычищать ворнинги и ошибки сборки после того, как коллеги-виндузятники коммитят свой кот, собирающийся под студией. Не предлагали им clang?Название: Re: MinGW и указатель как аргумент шаблона Отправлено: __Heaven__ от Февраля 04, 2015, 15:32 Ну, втихоря сделать подлог toolchain :)
|