Challenge 2: power With a Default Exponent — Possible Solution ==================================================================== #include int power(int base, int exponent = 2) { int result = 1; for (int i = 0; i < exponent; i++) { result *= base; } return result; } int main() { std::cout << power(3, 3) << std::endl; // both arguments given std::cout << power(5) << std::endl; // default exponent used return 0; } Output: 27 25 WHY THIS WORKS AS AN ANSWER ------------------------------ power(3, 3) explicitly overrides the default, computing 3^3 = 27. power(5) omits the trailing exponent argument entirely, so the compiler substitutes the declared default value (2), computing 5^2 = 25 -- exactly the chapter's own pattern of a trailing parameter being safely omittable because it has a default.