Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Если уж использовать шаблон, в него нужно вставлять не #pragma, которая должна обрабатываться на стадии препроцессирования, а __pragma, которая обрабатывается на стадии компиляции.
О, снова новости из параллельной реальности. __pragma от #pragma отличается только тем, что ее можно использовать внутри макроопределений и то, что это microsoft specific keyword. И все, больше ни чем. Ни о каких обработках на стадии компиляции речи нигде не идет.
https://learn.microsoft.com/en-us/cpp/preprocessor/pragma-directives-and-the-pragma-keyword?view=msvc-170
Pragma directives specify machine-specific or operating system-specific compiler features. A line that starts with #pragma specifies a pragma directive. The Microsoft-specific __pragma keyword enables you to code pragma directives within macro definitions. The standard _Pragma preprocessor operator, introduced in C99 and adopted by C++11, is similar.