#include <iostream>
void foo(int a) { std::cout << "int"; }
void foo(char a) { std::cout << "char"; }
int main() {
foo(97);
return 0;
}
Ответ:
int
Почему?
Число 97 по умолчанию имеет тип
int, поэтому вызывается версия foo(int).Если бы мы передали
'a' (символьный литерал), то вызвалась бы foo(char).⚡️ Подвох: Если бы параметр был
unsigned char, то могла бы произойти неявная конверсия, но тут всё однозначно! 😊