#include <iostream> using Price = double; using Quantity = int; void sendOrder(const char *symbol, bool buy, int quantity, double price) { std::cout << symbol << " " << buy << " " << quantity << " " << price << std::endl; } int main(void) { sendOrder("GOOG", false, Quantity(100), Price(1000.00)); // Correct sendOrder("GOOG", false, Price(1000.00), Quantity(100)); // Wrong } #include <iostream> class Price { public: explicit Price(double price) : m_price(price) {}; double m_price; }; class Quantity { public: explicit Quantity(unsigned int quantity) : m_quantity(quantity) {}; unsigned int m_quantity; }; void sendOrder(const char *symbol, bool buy, Quantity quantity, Price price) { std::cout << symbol << " " << buy << " " << quantity.m_quantity << " " << price.m_price << std::endl; } int…