構造体をリストの末端に書き加える関数を作ろうとしているのですが、上手くいきません。
使用ソフトはMicrosoft VC++で、ソースは以下の通りです。
#include<list>
typedef struct _hoge{
int x, y, z;
}hoge_t;
std::list<int> *intlist;
hoge_t *hoge_add(int x, int y, int z)
{
hoge_t *hoge;
hoge = (hoge_t *)malloc(sizeof(hoge_t)); //メモリ領域確保
hoge = new hoge_t();
hoge->x = x;
hoge->y = y;
hoge->z = z;
intlist = intlist->push_back(hoge);
return hoge;
}
これをビルドすると、以下のように出ます。error C2664: 'std::list<_Ty>::push_back' : 1番目の引数を 'hoge_t *' から 'const int &' に変換できません。
with
[
_Ty=int
]
理由: 'hoge_t *' から 'const int' へは変換できません。
この変換が可能なコンテキストはありません。
このソースは自動生成ダンジョンを作ってみたく思い、
こちらのサイト様→http://racanhack.sourceforge.jp/rhdoc/index.html
のソースを自分なりにC++に翻訳しようとしたものです。
なので少し厚かましいとも思いますが、上記のサイト様のソースに沿った方法でご教授願えますでしょうか。
どなたか、宜しくお願いします。