Код: Выделить всё
extern "C" {
template // error: template with C linkage
void bad_f() {}
}
Однако и GCC, и Clang принимают шаблоны функций с нешаблонным типом языковой связи C:
Код: Выделить всё
extern "C" {
using F = void();
}
template
F f;
template
void f() {}
Является ли объявление f действительно правильно сформированным C++? Если да, то делает ли он то, что я предполагаю?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ge-linkage
Мобильная версия