Octreeのデータ構造をC++で作成したいと思います。関数ポインタを返す
class Octree
{
public:
typedef struct node
{
int value;
node *child[8];
}node;
Octree();
~Octree();
int convert(int sorszam);
void clear(struct node*);
node* search(int dec,int oct);
};
そして、私は.cppファイルの検索機能を書きたいのですが、私は常にエラーメッセージが表示されました:私はこのようにあるヘッダファイルを持っています。ここでの.cppコードです:
node* Octree::search(int dec, int oct) {
//doing something here
return nullptr;
}
は、エラーメッセージは言う:
宣言は(宣言した "検索(int型は12月、INT 10月)*オクトリー::オクトリー::ノード" と互換性がありません
2つの関数の型は、次のとおりです。同じ。私は間違って何をしていますか?
を::代わりにノード*'ちょうど 'node *'のものです。また、typedefを削除することもできます。これはC++では必要ありません。 – Chad
またはstructノードのtypedefをクラスの外に移動 –
C++のように 'typedef'を取り除くこともできます。' struct'を使って 'struct'の名前を修飾する必要はありません。 – NathanOliver