我已经声明了这个函数:
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
这里有什么问题?