expected primary-expression before ')' token


while (isInputFace)
{
    Mat frame;
    capture.read(frame);

    // 检测人脸
    std::vector<Rect> faces;
    faceCascade.detectMultiScale(frame, faces, 1.1, 4, 0, Size(100, 100));

    // 绘制人脸矩形框
    for (const Rect& face : faces)
    {
        rectangle(frame, face, Scalar(255, 0, 0), 2);
    }

    // 显示当前帧图像
    imshow("录入人脸", frame);

    // 等待按键事件
    int key = waitKey(10);

    // 按下ESC键退出录入人脸
    if (key == 27)
    {
        isInputFace = false;
        break;
    }
    // 按下空格键保存人脸图像
    else if (key == 32)
    {
        // 构造保存文件名
        std::string filename = "face_" + std::to_string(counter) + ".jpg";

        // 保存人脸图像
        Mat faceImage =frame(face);
        imwrite(filename, faceImage);

        // 增加文件名计数器
        counter++;

        // 显示保存成功消息框
        QMessageBox::information(this, "成功", "人脸图像保存成功");
    }
}


Mat faceImage =frame(face); 报错expected primary-expression before ')' token


face 没定义 这是要用 faces 吗?