qt未定义模板的隐式实例化'QList <vpnconnection>'

时间:2016-10-25 23:44:41

标签: c++ qt class struct

首先到达这个问题,我看了几个SO问题,其中一半似乎不适用,而另一半,坦率地说,我只是不跟随。

问题:

这是我的问题的简单实现,

  

错误:未定义模板'QList <VPNConnection>'

的隐式实例化

具体来说,结构VPNList中的User_VPN_Info对象带有上述错误的下划线。

值得注意的是,在一篇文章中提到让你的“孩子”在父母之上,否则就会实现一种原型,因此VPNConnection位于{{1}之上}。

基本说明:

struct User_VPN_Info应该以QList的形式实现struct User_VPN_Info来保存多个VPNConnection

裸码:

VPNConnection

我想了解导致此错误的原因及其发生原因?

  

错误:未定义模板'QList struct VPNConnection{ QString ip,cipher,protocol; int port; bool lzo_compression; VPNConnection(){} VPNConnection(QString _ip, QString _cipher, QString _protocol, int _port, bool _comp){ ip = _ip; cipher = _cipher; protocol = _protocol; port = _port; lzo_compression = _comp; } }; struct User_VPN_Info{ QString vpn_name, vpn_expire; int DaysLeft; QList<VPNConnection> VPNList; -------- <<< --- underlined with error User_VPN_Info(){} User_VPN_Info(QString _vpn_name, QString _vpn_expire, int _DaysLeft){ vpn_name = _vpn_name; vpn_expire = _vpn_expire; DaysLeft = _DaysLeft; } QString getString(){ return(vpn_name + " + " + vpn_expire + " + " + QString::number(DaysLeft) + " ; "); } }; '

的隐式实例化

更新

经过一些更多的研究,我来到了this

  

用户 - dasblinkenlight

     

作为指针应用

因此改为:

<VPNConnection>

删除了此问题。

有人愿意提供解释吗?

1 个答案:

答案 0 :(得分:9)

那是因为你没有包含QList标题,所以你错过了QList的定义,如果你有这种类型的变量,你需要它。

td p {
    text-align: left;
}

但是,似乎您包含一些使QList标识符可用的标头(例如QString)。否则,您将收到错误

  

未知类型名称QList

这解释了为什么使用指针的解决方案工作正常,因为它只需要向前声明QList。