| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 521 人关注过本帖
标题:求助一个 C 语言的宏展开的问题
只看楼主 加入收藏
小白级的小黑
Rank: 2
等 级:论坛游民
帖 子:31
专家分:32
注 册:2022-3-19
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:2 
求助一个 C 语言的宏展开的问题
最近简单的学一下 Win32 编程
开始想着 WinMain 参数那么长,想用宏给它简化一下。

我是这么写的:
#define WinBegin(...) WINAPI WinMain(HINSTANCE hNowInstance, HINSTANCE hPrevInstance, PTCHAR lpCmdLine, int nShowCmd)


但编译时提示以下警告:
warning: in expansion of macro 'WinBegin'
这要怎么解决?
搜索更多相关主题的帖子: 编译 宏的 展开 WinMain 语言 
2023-07-19 15:46
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:170
专家分:1183
注 册:2023-6-29
收藏
得分:5 
警告而已, 但你要保证调用的地方正确
2023-07-19 17:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:5 
先看看正确的声明
int WINAPI   WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR l pCmdLine, int nShowCmd );
int WINAPI  wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd );
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd );

再看看你的
WINAPI WinMain(HINSTANCE hNowInstance, HINSTANCE hPrevInstance, PTCHAR lpCmdLine, int nShowCmd)
牛头不对马嘴,四不像呀

程序代码:
#include <windows.h>
#include <tchar.h>

#define WinBegin(...) WINAPI _tWinMain( HINSTANCE hNowInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )

int WinBegin(你声明了接受参数,却不使用)
{
    return 0;
}
2023-07-20 08:42
快速回复:求助一个 C 语言的宏展开的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021130 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved