ODB 之 persist compile error

今天遇到一个很诡异的问题,报错如下:

C:\DiskD\Projects.plus\Kolo\PatientManagement\Common\odb/database.txx(38): error C2664: 'void odb::access::object_traits_impl<ExaminationK,odb::id_sqlite>::persist(odb::database &,odb::access::object_traits<ExaminationK>::object_type &)': cannot convert argument 2 from 'T' to 'odb::access::object_traits<ExaminationK>::object_type &'

2>        with

2>        [

2>            T=Examination

2>        ]

C2664: 为类型转换问题

翻了几遍 example,没有发现问题所在

Examination 类使用了#pragma db id 的ODB pragma language

注意:此处的id_ 值是有ODB组件管理自动生成的,所以Examination对象会被改变

故,不能将persist的参数设定为const类型,const 导致类型转换失败。

发布了73 篇原创文章 · 获赞 12 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/MissLong/article/details/89634340