错误:'void TNode::inititTree(TNode*)' 的原型与类 'TNode' 中的任何原型都不匹配
error: prototype for 'void TNode::inititTree(TNode*)' does not match any in class 'TNode'
我在此代码中有一个错误,我试图让它运行我做错了什么我有一个错误说:请指导我纠正答案
错误:'void tnode :: initittree(tnode*(的原型不匹配 任何类" tnode"
中的任何
#include <iostream>
using namespace std;
class TNode{
private:
int info;
TNode *left;
TNode *right;
char ch;
public:
TNode* inititTree(TNode*);
TNode* addNode(TNode*, int val);
};
void TNode::inititTree(TNode *MyTree){
MyTree = new TNode;
cin>> ch;
MyTree->info = ch;
MyTree->left = Null;
MyTree->right= Null;
cout>> MyTree->info;
}
void TNode::addNode(TNode *MyTree, int value){
TNode TmpN = new TNode;
TmpN->info = value;
TNode *p = MyTree;
TNode *c = MyTree;
while (c!= Null)
{
if(TmpN->info < p->info){
c = p->left;
if (p->left != Null){
p=p->left;
}
}
else{
c = p->right;
if (p->right != Null){
p=p->right;
}
}
}
if (TmpN->info < p->info ){
p->left = TmpN;
}else{
p->right = TmpN;
}
}
int main(int argc, char** argv) {
TNode *MyTree;
MyTree->inititTree();
return 0;
}
这正是它所说的:定义的签名与声明的签名不符。您的声明是
TNode* inititTree(TNode*);
但是您的定义是
void TNode::inititTree(TNode *MyTree)
您声明您的功能返回TNode*
,但在您的定义中是void
。因此,要么将声明更改为 void
,要么将定义更改为 TNode*
(并使函数返回 TNode*
(。
您已经在类中声明了方法TNode* inititTree(TNode*)
并定义了方法void TNode::inititTree(TNode *MyTree)
,因此这是声明不匹配。您应该将声明更改为返回一个void ofer的定义,以便返回 TNode*
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- 功能原型的目的
- getline() 的原型/库是什么;
- 具有enable_if外部类原型的模板类构造函数定义
- 函数如何通知用户它基于函数原型抛出异常?
- 在C++中包含原型文件的正确方法是什么?
- 在函数中拥有函数原型的目的是什么?
- 什么..(省略号)作为函数原型中唯一的函数参数,C++?
- 是否可以使用 libclang python 解析 cpp 文件中没有标头的函数原型
- 如果原型是本地的,则使用流 I/O C++类型约束将失败
- 如何进行原型消息交叉引用?
- 有没有办法在C++编译时更改函数原型?
- 省略函数原型中的返回类型
- 在 linux 原因上运行自定义原型插件
- 为什么以及如何使用原型设计模式
- 您是否必须随项目一起交付原型文件?
- 如何在C++中遍历谷歌原型地图?
- 错误:'EM::EM(...)' 的原型与类 'EM' 中的任何原型都不匹配
- 功能原型,没有定义
- 错误:'void TNode::inititTree(TNode*)' 的原型与类 'TNode' 中的任何原型都不匹配