gpt4 book ai didi

c++ - 在树中我得到错误没有匹配函数调用函数但是我使用模板正确地完成了它

转载 作者:行者123 更新时间:2023-11-28 04:16:37 24 4
gpt4 key购买 nike

template <typename T>
BinaryTreeNode<T> takeinput();

template <typename T>
BinaryTreeNode<T>* take_input()
{
T rootdata;

cout << "enter data ";
cin >> rootdata;

if(rootdata == -1 || rootdata == 'n') {
return nullptr;
}

BinaryTreeNode<T>* root = new BinaryTreeNode<T>(rootdata);

root->left = takeinput(); // got error in this line
root->right = takeinput();

return root;
}
[Error] no matching function for call to 'takeinput()'
[Note] candidate is
[Note] template<class T> BinaryTreeNode<T> takeinput()
[Note] template argument deduction/substitution faile
[Note] couldn't deduce template parameter 'T'

在这里我得到一个错误,因为没有匹配的函数调用接受输入但我做得很好

最佳答案

问题是模板参数无法通过赋值左侧的表达式推导出来。

root->left = takeinput();

takeinput函数需要模板参数:

root->left = takeinput<T>();

关于c++ - 在树中我得到错误没有匹配函数调用函数但是我使用模板正确地完成了它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56447669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com