#include \n#include \n\ndouble dotProduct(const std::vector& v1, const std::vector& v2) {\n if (v1.size() != v2.size()) {\n throw std::invalid_argument("Vectors must have the same size.");\n }\n\n double product = 0.0;\n for (size_t i = 0; i < v1.size(); ++i) {\n product += v1[i] * v2[i];\n }\n\n return product;\n}\n\nint main() {\n std::vector v1 = {1.0, 2.0, 3.0};\n std::vector v2 = {4.0, 5.0, 6.0};\n\n try {\n double result = dotProduct(v1, v2);\n std::cout << "Dot product: " << result << std::endl;\n } catch (const std::invalid_argument& e) {\n std::cerr << "Error: " << e.what() << std::endl;\n }\n\n return 0;\n}\n\n在上述代码中,我们定义了一个名为dotProduct的函数,该函数接受两个vector<double>类型的参数v1和v2。函数首先检查两个向量的大小是否相等,如果不相等则抛出std::invalid_argument异常。然后,函数通过遍历两个向量的元素,计算两个向量的点积。最后,函数返回计算结果。\n\n在main函数中,我们创建了两个向量v1和v2,并调用dotProduct函数计算它们的点积。如果向量大小不一致,异常将被捕获并打印错误消息。否则,点积结果将被打印到标准输出。