ClassView cannot find functino definitions until they are saved at least once.

devinside 2005-11-12 07:41:35
我在cpp文件里用上面那个条(忘了叫什么名字)定位类成员函数的时候,有些函数会弹出一个对话框,,说:
Cannot find the definition for this function. ClassView cannot find functino definitions until they are saved at least once.
我的头文件和cpp文件里函数名,类型绝对一样,自己写过,也复制粘贴过,都不行,所有的文件也都保存了,还是不行,出现问题的函数固定,一个叫TransparentBltTo,一个叫MixBltTo,以前好像还没事儿,,不知道打什么时候起就不行了,虽然不会影响程序运行,但是很别扭,那位大侠知道怎么回事儿,还请指教
...全文
393 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
devinside 2005-11-13
  • 打赏
  • 举报
回复
写这么长的变量名是怕以后忘了参数怎么用,实现中又嫌变量太长麻烦,我又试验了一下,关键在于border_skip和skip这里,把border_skip改成skip_border就好了,看来编译器找函数的时候要从前往后匹配变量名称,在读完两这中短的以前没有出现不匹配就可以了,还是感谢楼上大侠的指点
Snow_Ice11111 2005-11-13
  • 打赏
  • 举报
回复
的确,函数声明时的参数类型、数量及顺序只要和函数实现时的参数类型、数量及顺序一样就行了,跟声明中用的参数名无关。你再仔细看一下,必要的话把声明中用的参数名删去,只留下类型就行了。
devinside 2005-11-13
  • 打赏
  • 举报
回复
找到原因了,,是声明和定义里变量名称不一样,,该一样了就好了,,可这有关系吗,,类型一样不就行了,,为什么要一样的名称啊
devinside 2005-11-13
  • 打赏
  • 举报
回复
声明:
void TransparentBltTo ( CDIBSection * pdibBk , int dx , int dy , int sx , int sy , int w , int h , COLORREF crMask , int lightness = 0 , int blur_less_than_5 = 1 , UINT border_skip = 0 ) ;
定义:
void CDIBSection::TransparentBltTo ( CDIBSection * pdibBk , int dx , int dy , int sx , int sy , int w , int h , COLORREF crMask , int lightness , int blur , UINT skip )
应该与函数体内部无关,都注释了也不行
菜牛 2005-11-12
  • 打赏
  • 举报
回复
代码

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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