Я не понимаю, почему эта лямбда-функция может печатать здесь два разных типа. Означает ли это, что auto также может быть полиморфным?
https://godbolt.org/z/z55eWEndf
#include
#include
#include
int main() {
auto func = [](const auto* item) {
printf("%s\n", typeid(item).name());
return true;
};
int *i = new int(1);
double *d = new double(1.0);
func(i);
func(d);
func(&func);
delete i;
delete d;
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... olymorphic