作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 TimelineItem 的对象,它有一个名为 linked_items_ 的数据字段,其中包含一个 TimelineItem 类型的 vector 。这是为了表示链接到原始项目(重复项目)的时间线中的项目。
我很难让 ODB 理解我的意图。它给我一个错误“无法将数据成员‘linked_items_’中使用的 C++ 类型‘::TimelineItem’映射到 PostgreSQL 数据库类型。这是我的代码:
#pragma db object
class TimelineItem {
// Timeline Item data fields
private:
// Default constructor for ODB
TimelineItem() {}
friend class odb::access;
#pragma db id auto
unsigned long id_;
Event *event_;
time_t start_;
time_t end_;
TimelineItem *linked_;
vector<TimelineItem> linked_items_;
我知道它不知道“TimelineItem”是什么类型,因此无法将其映射到数据库端,但是我正在努力寻找文档或解决此问题的方法。
欢迎任何反馈。
谢谢!
最佳答案
我认为你的vector<TimelineItem> linked_items_;
实际上应该是 vector<TimelineItem*> linked_items_;
关于C++ 和 ODB : Creating a vector of objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017372/
我是一名优秀的程序员,十分优秀!