类型错误C ++ with struct

时间:2016-03-25 21:11:53

标签: c++ struct set std

我一直在尝试修复此错误数小时,但有些东西我不见了:

我的结构声明为:

typedef struct {
    bool active;
    unsigned long bbcount;
    char buffer[BUFFSIZE];
    std::set<__uint> *bblist;
} per_thread_t;

稍后我为它分配内存并设置一些变量,包括set,如下所示:

per_thread_t *data = (per_thread_t *)malloc(sizeof(per_thread_t));
data->active = false;
data->bblist = new std::set<__uint>();  
data->bblist.find(6328);

但我收到错误error C2228: left of '.find' must have class/struct/union

我在这里做错了什么?

谢谢

1 个答案:

答案 0 :(得分:4)

bblist是指针类型。您需要像这样访问它:

data->bblist->find(6328);