返回模板类中的节点

时间:2017-09-02 21:24:19

标签: c++

我正在尝试使用模板作为通用(应该是)成员来保存菜单的GUI组件。我试图使用节点来创建菜单,我得到这两个错误C2244和C2955。我查看了这些错误并将它们与我的代码进行了比较,似乎无法找到我的问题。

我没有包含构造函数定义,因为问题是编译器错误。

编译器错误,如果你懒得阅读段落:

错误1:

$index = 0;
$final = [];

foreach ($array1 as $i => $arr) {
    foreach($arr as $j => $user) {
        $user['is_admin'] = $array2[$index];
        $index++;
        $arr[$j] = $user;
    }
    $final[$i] = $arr;
}

错误2:

Severity Code Description Project File Line Suppression State
Error C2244 'GUI::MenuNode<ui_Interface>::select': unable to match function 
definition to an existing declaration


Severity Code Description Project File Line Suppression State
Error C2955 j'GUI::MenuNode': use of class template requires template 
argument list

1 个答案:

答案 0 :(得分:0)

作为Tyger建议的评论,我根本没有将模板声明放在getter方法上。

这应该是什么样子

    const MenuNode<ui_Interface> & MenuNode<ui_Interface>::select() {
          //some code here
    }

这就是它过去的样子

        //missing <ui_Interface> after the first MenuNode
    const MenuNode & MenuNode<ui_Interface>::select() {
          //some code here
    }