首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从site http://h264bitstream.sourceforge.net/对重载函数代码的错误C2668模糊调用

从site http://h264bitstream.sourceforge.net/对重载函数代码的错误C2668模糊调用
EN

Stack Overflow用户
提问于 2012-04-04 14:40:14
回答 2查看 5.2K关注 0票数 3

我运行了一个从站点http://h264bitstream.sourceforge.net/下载的http://h264bitstream.sourceforge.net/解析器程序。

当我运行代码时,我会得到以下错误

error C2668:'log‘:对重载函数的模糊调用

1> c:\程序文件\ 10.0\vc\include\math.h(575):可以是“长双日志(长双)”

1> c:\program \ 10.0\vc\include\math.h(527):或“浮动日志”

1> c:\program \ 10.0\vc\include\math.h(120):或“double log(Double)”

在下面的代码中

代码语言:javascript
复制
else if( pps->slice_group_map_type == 6 )
        {
            pps->pic_size_in_map_units_minus1 = bs_read_ue(b);
            for( i = 0; i <= pps->pic_size_in_map_units_minus1; i++ )
            {
                **pps->slice_group_id[ i ] = bs_read_u(b, ceil( log2( pps->num_slice_groups_minus1 + 1 ) ) ); // was u(v)**
            }
        }
    }

error C2668:'log‘:对重载函数1> c:\程序文件\microsoft 10.0\vc\include\math.h(575):可能是’长双日志(长双)‘的模糊调用

1> c:\program \ 10.0\vc\include\math.h(527):或“浮动日志”

1> c:\program \ 10.0\vc\include\math.h(120):或“double log(Double)”

1>在试图匹配下面代码中的参数列表'(int)‘时

代码语言:javascript
复制
 if( pps->num_slice_groups_minus1 > 0 &&
        pps->slice_group_map_type >= 3 && pps->slice_group_map_type <= 5)
    {
        sh->slice_group_change_cycle = 
            **bs_read_u(b, ceil( log2( pps->pic_size_in_map_units_minus1 +  
                                     pps->slice_group_change_rate_minus1 + 1 ) ) ); // was u(v) // FIXME add 2?**
    }

error C2668:'log‘:对重载函数 1> c:\程序文件的模糊调用\microsoft 10.0\vc\include\math.h(575):可以是“长双日志(长双)”

1> c:\program \ 10.0\vc\include\math.h(527):或“浮动日志”

1> c:\program \ 10.0\vc\include\math.h(120):或“double log(Double)”

1>同时尝试匹配参数列表'(int)‘

代码语言:javascript
复制
bs_write_ue(b, pps->pic_size_in_map_units_minus1);
            for( i = 0; i <= pps->pic_size_in_map_units_minus1; i++ )
            {
                **bs_write_u(b, ceil( log2( pps->num_slice_groups_minus1 + 1 ) ), pps->slice_group_id[ i ] ); // was u(v)**
            }
        }

我该怎么做才能解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2012-11-07 20:51:38

修改对log2的调用如下所示:

代码语言:javascript
复制
log2( (double)(pps->num_slice_groups_minus1 + 1) )
票数 0
EN

Stack Overflow用户

发布于 2015-12-11 10:58:01

尝试使用1.0而不是1作为参数输入。您的log(...)的参数期望是双变量、浮动变量或长双变量类型。如果不是这样的话,变量num_slice_groups_minus1也应该是双倍、浮点数或长双。

示例:log2( pps->num_slice_groups_minus1 + 1.0 )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10013434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档