姜先森@puls
2021-09-02 18:41
采纳率: 0%
浏览 179

vs2019出现未定义标识符错误

可有人识得此误↓
img

.c文件代码如下

int user_list_del(FRND_ST* fs, short cnt)
{
    CLIENT_FRND* cp;
    struct list_head* pos = NULL, * head = &myself.w_flisthd;
    for (int i = 0; i < cnt; i++)
    {
        list_for_each(pos,head);
        {
            cp = (CLIENT_FRND*)list_entry(pos, CLIENT_FRND, c_node);
            if (cp->c_id == fs[i].fs_id)
            {
                break;
            }
        }
        if (pos == head)
        {
            continue;
        }
        cp = (CLIENT_FRND*)list_entry(pos, CLIENT_FRND, c_node);
        list_del(&(cp->c_node));
        free(cp);
    }
    return 0;
}


.h文件代码如下

#define offsetof(t,m) ((size_t)(&((t *)0)->m))

#define container_of (ptr, type, member)\
    (char *)(ptr) - offsetof(type, member)

#define list_entry(ptr, type, member) \
    container_of(ptr, type, member)


  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qfl_sdu 2021-09-02 19:01

    #define container_of (ptr, type, member)
    (char *)(ptr) - offsetof(type, member)
    这里的ptr是什么东西?是变量吗?宏定义里不能这么用变量啊兄弟

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题