qq_15106323
qq_15106323
采纳率66.7%
2017-06-20 09:05 阅读 4.1k
已采纳

vs2010 编译错误error C2039:

在用vs2010做一个项目,编译提示错误:
错误 90 error C2039: “p_end”: 不是“bs_s”的成员 c:\users\administrator\desktop\mypro\vs-2010-x264\common\bs.h 78
提示错误代码那一行:
头文件bs.h
static inline void bs_init( bs_t s, void *p_data, int i_data )
{
/////////////////////////////////////
s->p_end = (uint8_t
)p_data + i_data;
///////////////////////////
}
太长中间不写了,找了下bs_t 这个结构体:
typedef struct bs_s
{
uint8_t *p_start;
uint8_t *p;
uint8_t *p_end;

intptr_t cur_bits;
int     i_left;    /* i_count number of available bits */
int     i_bits_encoded; /* RD only */

} bs_t;
他们是在同一个头文件下,明明有这个变量啊为什么说不是它的成员,是不是vs2010编译器的问题啊,求大神解答

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    yan5309 yan5309 2017-06-20 09:17

    感觉不是这个问题,s->p_end = (uint8_t)p_data + i_data;是不是应该把(uint8_t)改成(uint8_t*)

    点赞 1 评论 复制链接分享
  • qq_15106323 qq_15106323 2017-06-22 07:12

    确实是,看得眼睛都有点花,谢谢

    点赞 评论 复制链接分享

相关推荐