.c文件改成.cpp文件时出错

passball 2010-04-18 09:01:04
将一个c程序改成c++文件时出现这种情况,
error C2664: 'array_double' : cannot convert parameter 1 from 'struct pq_node ** ' to 'void ** '

是参数类型出错的原因,出现错误的函数是
array_double( &min_pq->pq_array, min_pq->nallocd,sizeof( struct pq_node ) );

extern int array_double( void** array, int n, int size );而
struct pq_node
{
void* data;
int key;
};
是一个结构体,请问这样的情况该怎样修改array_double()中第三个参数的形式呢?高人指点。。。
...全文
285 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaozhiyong110 2010-04-18
  • 打赏
  • 举报
回复
array_double( (void **)(&min_pq->pq_array), min_pq->nallocd,sizeof( struct pq_node ) );
保险点。。。
yaozhiyong110 2010-04-18
  • 打赏
  • 举报
回复
array_double( (void **)&min_pq->pq_array, min_pq->nallocd,sizeof( struct pq_node ) );
passball 2010-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fox000002 的回复:]
CPP 对类型的检查比 C 严格一些

void ** 的话,调用时需要加强制转换
[/Quote]

请问该怎样强制转换呢??
wangyingyingqq 2010-04-18
  • 打赏
  • 举报
回复
帮忙顶一下呵呵
fox000002 2010-04-18
  • 打赏
  • 举报
回复
CPP 对类型的检查比 C 严格一些

void ** 的话,调用时需要加强制转换

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧