积木首页 - 学院 - 软件测试 - 技术百科 - 问答 - 黄页 - 手册 - 站长工具 - 社区
登录 | 注册
    
群组 >> C/C++研究

C/C++研究

共有848位成员   人气指数 -   最新排名 -

【话题】error C2664: 'InterlockedCompareExchange' : cannot convert parameter 1 from 'vol

2009-05-14 19:13:35 来自:maxiangyuan 浏览数:105
小弟初学vc,使用的是vc6.0,最近编译一段代码是报错:error C2664: 'InterlockedCompareExchange' : cannot convert parameter 1 from 'volatile long *' to 'void ** '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
代码肯定没有问题,别人用过的。
  哪位大侠知道这是怎么回事?小弟不胜感激!!!
 
zhangfei回复于14日19点29分 
vc6下
<MS VC++ 6.0 install>\Include\WINBASE.H

  PVOID
  WINAPI
  InterlockedCompareExchange (
      PVOID *Destination,
      PVOID Exchange,
      PVOID Comperand
      );

从网上找的,不知道似乎不是这样.
 
黄丹玫回复于14日19点39分 



我的意思是说vc6可能比较老了,它对函数的声明是如上参数。

而我现在的vc2005(举例来说),声明如下(X86):
WINBASEAPI
LONG
WINAPI
InterlockedCompareExchange (
    __inout LONG volatile *Destination,
    __in    LONG Exchange,
    __in    LONG Comperand
    );

所以你得编译器比你老师的老,你问问你老师用什么,跟他一样就行了。
 
cyxyz回复于14日19点52分 
顶一下 不管怎么样似乎都不怎么好
 
火小龙回复于14日20点05分 
up,试试
 
chenruang回复于14日20点14分 
这位高手你好,我用的是vc6.0。
 
peter1999回复于14日20点29分 
bitsCur = InterlockedCompareExchange((void**)(pBitmap+i), bitsNew, bitsOld);
 
llz960310回复于14日20点41分 
谢谢高手,我今天问了老师,他让我换vs2003.
 
薛宇航回复于14日20点53分 
谢谢。
 
laoyang回复于14日21点03分 
看起来没什么问题,你用什么编译的?
 
封冠华回复于14日21点14分 
高手你好,你的意思是把这段代码加上?
 
李静君回复于14日21点28分 
谢谢高手,我今天问了老师,他让我换vs2003。
 
石雨鑫回复于14日21点37分 
C/C++ code cannot convert parameter 1 from 'volatile long *' to 'void ** ' //函数实参的使用和形参定义的类型不一致,检查一下~
 
邓妍鑫回复于14日21点49分 
谢谢各位,报错的位置是:bitsCur = InterlockedCompareExchange((LONG volatile *)(pBitmap+i), bitsNew, bitsOld);
好像已经强制转换了吧?
 
盛子煊回复于14日21点59分 
那就将第一个参数强制转化一下
reinterpret_cast <void **>arg1
 
paopaopao回复于14日22点14分 
谢谢啊,应该是没装好,代码是老师给我的,他编译时没有问题。
 
小破孩儿回复于14日22点23分 
:(
好像写错了

reinterpret_cast <void **>(arg1)
 
黄佳铭回复于14日22点36分 

顶楼上的,你可试着把那句代码用类型强制转换改下...
很可能是你VC没安装好,以前我也遇上这样的事,我是重装解决的
C/C++研究的其他话题...

PHP: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码 - 正则表达式 - 热门脚本语言: DOS命令 - vbs - CSS/HTML - python - perl - ruby - shell编程 - Powershell

JS: node.js - JS基础 - extjs - jQuery - JavaScript技巧

网址导航成语大全积木 TinyMCE 服务邮箱: Gimoohr(#)gmail.com
Copyright © 2008 Gimoo.Net  京ICP备05050695号