首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从`GLib.TypeClass“转换为`GLib.ObjectClass”

无法从`GLib.TypeClass“转换为`GLib.ObjectClass”
EN

Stack Overflow用户
提问于 2016-06-05 14:42:51
回答 1查看 101关注 0票数 1

我试图编译libgee (来源)针对valac (.28)和libgee (1.0)。我特别针对Ubuntu16.04栈编译了这些代码。

但我还是会犯错误

entry.vala:397.38-397.38: warning: if-statement without body if (_selected != value); ^ entry.vala:172.52-172.86: error: Argument 1: Cannot convert from `GLib.TypeClass' to `GLib.ObjectClass' binding_set = Gtk.BindingSet.by_class (typeof (InputTextView).class_ref ());

我没发现密码有什么问题。知道吗?

整个构建日志都在这里:BUILDING.txt.gz

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 18:25:56

我刚刚检查了它,它用valac-0.18编译,但没有用valac-0.28编译。

因此,在这种情况下,那些执行更严格类型检查的valac版本之间一定发生了变化。

GLib.TypeClass (真正的GTypeClass in C) 是父类。 of GLib.ObjectClass (在C中真正的GObjectClass )。

因此,编译器在没有强制转换的情况下不允许这样做是正确的。我不知道在这种情况下强制转换是否正确,但它使代码编译:

代码语言:javascript
复制
binding_set = Gtk.BindingSet.by_class ((ObjectClass) typeof (InputTextView).class_ref ())

还请参见valadoc中的GObjectClass,其中在示例代码中进行了类似的类型广播:

http://valadoc.org/#!api=gobject-2.0/GLib.ObjectClass

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37643150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档