我假设为 double 参数传递的 int args 将转换为 double。例如
我在打电话:make_line(root, "hi", 5,5,50,50);
上:
GooCanvasItem * make_line(GooCanvasItem * parent, char * name, gdouble x1, gdouble y1, gdouble x2, gdouble y2)
{
printf("from make line: %f %f %f %f\n", x1, y1, x2, y2);
//...
}
printf
产品:
from make line: 0.000000 0.000000 0.000000 0.000000
当我用
make_line(root, "hi", 5.0,5.0,50.0,50.0);
它给出了正确的输出。
更改gdouble
为double
似乎无法解决问题。