web-dev-qa-db-ja.com

エラーの取得:ISO C ++は型なしの宣言を禁止します

次のエラーが表示されます。

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)
{
}

誰でもこれらのエラーの原因を指摘できますか?ありがとうございました!

30
user2264035

メンバー関数の定義で戻り値の型を忘れました:

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

等々。

52
juanchopanza

あなたの宣言はint ttTreeInsert(int value);です

ただし、定義/実装は

ttTree::ttTreeInsert(int value)
{
}

実装には戻り型intがないことに注意してください。代わりに

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