0

我已经声明了这个函数:

PyObject * A::func(const void *data) const {
    const time_t *time = reinterpret_cast<const time_t *>(data);
    std::tm *now = std::gmtime(time);
    PyObject *date_py = PyDate_FromDate(static_cast<int32_t>(now->tm_year + 1900), static_cast<int32_t>(now->tm_mon + 1),
                                        static_cast<int32_t>(now->tm_mday));
    PyObject_Print(date_py, stdout, 0);
    return date_py;
}

我在 PyDate_FromDate 中使用的所有参数都是int,但是在调用此函数并打印date_py pyobject 后,结果为空,就像我从未创建过该对象一样。

已编辑:数据是指向 int 的指针,在测试中我正在运行 now->tm_year = 100, now->tm_mon = 6 and now->tm_mday = 2

这里有什么问题?

4

0 回答 0