c++函数声明和define

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了c++函数声明和define脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

函数在调用之前必须声明啊有木有,忘记了这个就等于忘掉了老本。

LRESULT CALLBACK DlgPRoc(HWND hDlgMain,UINT uMsg,WPARam wParam,LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){
    DiaLOGBox(hInstance,MAKeiNTRESOURCE(IDD_DIALOG),NULL,(DLGPROC)DlgProc);//(DLGPROC)
    return 0;
}

即使winmain里面的dlgproc调用的时候只有函数名,也必须声明一下啊,否则会出现下面的报错

C:VC6MyProjectsPorttestportmain.cpp(10) : error C2065: 'DlgProc' : undeclared identifier
C:VC6MyProjectsPortTestportmain.cpp(14) : error C2373: 'DlgProc' : redefinITion; different tyPE modifiers

还有看到有关__in__这些变量名的,其实就是用了#define __in__ NULL来定义的,就是为了便于理解查看,其实有没有这个真的无所谓。
但是,像下面的这种情况

  • __in__ cout<<"hello"<<endl; 通过
  • NULL cout<<"hello"<<endl; 不能通过
    为什么呢。
    这是因为在define是宏定义,在编译的时候会替换成文本,但是在宏定义结果为null 或者0时,编译预处理的时候会忽略,编译时不存在。所以第一个可以通过,第二个等于说在编译预处理后还有null存在了,因此无法编译通过。

脚本宝典总结

以上是脚本宝典为你收集整理的c++函数声明和define全部内容,希望文章能够帮你解决c++函数声明和define所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。