QuantLib 测试题:错误 C4996 'QuantLib::CalibratedModel::calibrate':已声明不推荐使用

问题描述

我是 QuantLib 的新手。只需按照网站 (https://www.quantlib.org/install/vc10.shtml) 上的说明,我在 VS 2017 中成功构建了 QuantLib 解决方案。然后仍然按照说明,我使用以下代码创建了一个名为“QuantLib_Test”的新项目:

#include <ql/quantlib.hpp>
#include <iostream>

int main()
{
    QuantLib::Calendar myCal = QuantLib::UnitedKingdom();
    QuantLib::Date newYearsEve(31,QuantLib::Dec,2008);

    std::cout << "Name: " << myCal.name() << std::endl;
    std::cout << "New Year is Holiday: " << myCal.isHoliday(newYearsEve) << std::endl;
    std::cout << "New Year is Business Day: " << myCal.isBusinessDay(newYearsEve) << std::endl;

    std::cout << "--------------- Date Counter --------------------" << std::endl;

    QuantLib::Date date1(28,2008);
    QuantLib::Date date2(04,QuantLib::Jan,2009);

    std::cout << "First Date: " << date1 << std::endl;
    std::cout << "Second Date: " << date2 << std::endl;
    std::cout << "Business Days Betweeen: " << myCal.businessDaysBetween(date1,date2) << std::endl;
    std::cout << "End of Month 1. Date: " << myCal.endOfMonth(date1) << std::endl;
    std::cout << "End of Month 2. Date: " << myCal.endOfMonth(date2) << std::endl;

    double tmp;
    std::cin >> tmp;

    return 0;
}

但是它显示错误消息:Error C4996 'QuantLib::CalibratedModel::calibrate': was declared deprecated

如果有人能帮忙,谢谢!

解决方法

看起来您已经告诉编译器将警告视为错误。要么放松,要么禁用警告 C4996。

如果可能,升级到 VS 2019 也应该可以避免这个问题。