Здравствуйте, ботаныч, Вы писали:
Б>Б>template <typename T> inline void print_type() {
Б> #pragma message (__FUNCSIG__)
Б>}
Б>
Это
очень кривой прием. Если уж использовать шаблон, в него нужно вставлять не #pragma, которая должна обрабатываться на стадии препроцессирования, а __pragma, которая обрабатывается на стадии компиляции. #pragma в шаблоне должна срабатывать еще до того, как шаблон будет обработан компилятором, выводя текст "__FUNCSIG__", поскольку ни о каких сигнатурах препроцессор знать не должен.
Но еще лучше использовать нормальный макрос с __pragma (message ()), который будет выводить
любой заданный текст, а не
служебную информацию, к которой сбоку присобачена какая-то дополнительная.