작성
·
524
1
제가 작성한 코드인데 왜 이런 오류가 뜨는지 모르겠습니다..
함수 전문 첨부합니다. 아래의 두 변수 total_emission_car, total_cost_car은 전역변수로 선언했고, carbon_emision_truck과 fuel_efficiency_truck은 #define을 활용해 정의했습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
코드를 보면 오류 발생 이유가 명확히 나와있습니다.
carbon_emision_truck
와 fuel_efficiency_truck
는 둘 다 매크로로 정의된 상수입니다. 하지만 calculate_carbon_footprint()
함수 내부에서 이 변수들이 상수임을 인식하지 못하고, 인자로 double
자료형을 받은 후 *
연산자를 사용하고 있기 때문에 발생하는 오류인 것 같습니다.
해결책으로는 calculate_carbon_footprint()
함수의 인자를 double
자료형 대신 const double&
로 수정해주시면 됩니다. 이렇게 하면 인자로 상수값을 받아올 수 있고 *
연산자도 사용할 수 있습니다.
함수 전문:
double calculate_carbon_footprint(double miles_driven_car, const double& fuel_efficiency_car)
{
double carbon_emission_car;
carbon_emission_car = (miles_driven_car / fuel_efficiency_car) * carbon_emision_truck * 19.64;
return carbon_emission_car;
}