Как избежать неявного литья на неконструктивные функции?
У меня есть функция, которая принимает целое число как параметр,
но эта функция также будет принимать символы, bools и longs.
Я верю, что это делает это, неявно бросая их.
Как я могу избежать этого, так что функция принимает только параметры соответствующего типа и откажется от компиляции в противном случае?
Существует ключевое слово "Явный", но оно не работает с неконструктивными функциями.:\
что мне делать?
Следующая программа компилируется, хотя мне бы хотелось:
#include <cstdlib>
//the function signature requires an int
void function(int i);
int main(){
int i{5};
function(i); //<- this is acceptable
char c{'a'};
function(c); //<- I would NOT like this to compile
return EXIT_SUCCESS;
}
void function(int i){return;}
*, пожалуйста, не забудьте указать на неправильное использование терминологии и допущений