float divi = static_cast<float>(a) / b
; Вот правильный вариант
https://godbolt.org/z/YEje6Y11Y
friend double operator+(Car& c1, Car& c2);
, если её функциональность реализуется с помощью оператора приведения? template<typename T> void function1(T* begin ) { }
/* First instantiated from: insights.cpp:5 */
#ifdef INSIGHTS_USE_TEMPLATE
template<>
void function1<int>(int * begin) { }
#endif
template<typename T> void function2(T begin ) { }
/* First instantiated from: insights.cpp:6 */
#ifdef INSIGHTS_USE_TEMPLATE
template<>
void function2<int *>(int * begin) { }
#endif
int main(void) {
int * pointer;
function1 (pointer);
function2 (pointer);
}