여기에서 우리는 C 또는 C++의 인수 강제에 대해 볼 것입니다. Argument Coercion은 컴파일러가 한 형식에서 다른 형식으로 인수를 암시적으로 변환할 수 있는 기술 중 하나입니다. 인수승진 규칙을 따릅니다. 하나의 인수가 하위 데이터 유형이면 상위 데이터 유형으로 변환할 수 있지만 그 반대는 사실이 아닙니다. 그 이유는 하나의 상위 데이터 유형을 하위 데이터 유형으로 변환하면 일부 데이터가 손실될 수 있기 때문입니다.
암시적 변환이 발생하는 방식을 표현할 수 있는 피라미드를 살펴보겠습니다.
예시
#include<iostream> using namespace std; double myAdd(double a, double b){ return a+b; } main() { cout << "double data add: " << myAdd(5.3, 6.9) << endl; cout << "integer data add: " << myAdd(6, 5) << endl; }
출력
double data add: 12.2 integer data add: 11