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

时间:2014-04-26 17:36:05

标签: c++ function class constructor declaration

我收到以下错误:

  

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

这是我的.cpp文件:

#include "ttTree.h"

ttTree::ttTree(void)
{

}

ttTree::ttTreeInsert(int value)
{
}

ttTree::ttTreeDelete(int value)
{
}

ttTree::ttTreePrint(void)
{
}

有人能指出造成这些错误的原因吗?谢谢!

2 个答案:

答案 0 :(得分:51)

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

int ttTree::ttTreeInsert(int value) { ... }
^^^               

等等。

答案 1 :(得分:6)

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

但是,您的定义/实施是

ttTree::ttTreeInsert(int value)
{
}

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

int ttTree::ttTreeInsert(int value)
{
    return 1; // or some valid int
}