获取错误:ISO C++禁止声明无类型

use*_*035 32 c++ constructor class declaration function

我收到以下错误:

ISO C++禁止声明ttTreeInsert没有类型

ISO C++禁止在没有类型的情况下声明ttTreeDelete

ISO C++禁止在没有类型的情况下声明ttTreePrint

int ttTree的原型:: ttTreePrint()与类ttTree中的任何一个都不匹配

候选人是:void ttTree :: ttTreePrint()

这是我的头文件:

#ifndef ttTree_h
#define ttTree_h

class ttTree 
{
public:
  ttTree(void);
  int ttTreeInsert(int value);
  int ttTreeDelete(int value);
  void ttTreePrint(void);

};

#endif
Run Code Online (Sandbox Code Playgroud)

这是我的.cpp文件:

#include "ttTree.h"

ttTree::ttTree(void)
{

}

ttTree::ttTreeInsert(int value)
{
}

ttTree::ttTreeDelete(int value)
{
}

ttTree::ttTreePrint(void)
{
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出导致这些错误的原因吗?谢谢!

jua*_*nza 53

您忘记了成员函数定义中的返回类型:

int ttTree::ttTreeInsert(int value) { ... }
^^^               
Run Code Online (Sandbox Code Playgroud)

等等.


ap-*_*osd 6

你的声明是 int ttTreeInsert(int value);

但是,您的定义/实现是

ttTree::ttTreeInsert(int value)
{
}
Run Code Online (Sandbox Code Playgroud)

请注意,int实现中缺少返回类型.相反它应该是

int ttTree::ttTreeInsert(int value)
{
    return 1; // or some valid int
}
Run Code Online (Sandbox Code Playgroud)