私は a を持っていて、where is of typeとis of typemap<key_t, struct tr_n_t*> nodeTable
を実行しようとしています。nodeTable[a] = someNode
a
typedef long key_t
someNode
o_t*
stl_function.h の実行中の次の時点で、セグメンテーション違反が発生します。
/// One of the @link comparison_functors comparison functors@endlink.
template<typename _Tp>
struct less : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
ソースコード:
#include <stdio.h>
#include <stdlib.h>
#include <map>
using namespace std;
typedef long key_t;
typedef struct tr_n_t {
key_t key;
map<key_t, struct tr_n_t *> nodeTable;
} o_t;
int main() {
o_t *o = (o_t *) malloc(sizeof(o_t));
o->nodeTable[1] = o;
return 0;
}
私は地図を正しく使用していませんか?