游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2743|回复: 9

菜鸟问题:c++里面得#怎么个用法?

[复制链接]

3

主题

17

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2006-11-30 17:43:00 | 显示全部楼层 |阅读模式
#argument 得意思是不是就是"argument"?
比如:#abc 是不是就是 "abc"得意思?
但是为何#include <iostream>
using namespace std;
void main()
{
        cout << #hello!  <<endl;
}
不能编译呢? [em24]

7

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2006-11-30 17:57:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

建议从基础学起
比如:#abc 是不是就是 "abc"得意思?
------------------------不是

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2006-11-30 18:25:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

#在其它一些语言可能是条件编译。

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2006-11-30 18:26:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

#define CLASS_TOSTRING(className) (#className)

3

主题

17

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2006-11-30 21:59:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

感谢大家得回答,我想问得是#作为"粘贴"操作符为何不能编译上述程序?
楼上得回答没看懂~~~望详细点

3

主题

17

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2006-11-30 22:05:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

cout << #hello!  <<endl;这条语句为何会出错?

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2006-11-30 23:29:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

MSDN里有相关说明:
The number-sign or “stringizing” operator (#) converts macro parameters (after expansion) to string constants.It is used only with macros that take arguments.

例子:
#define stringer( x ) printf( #x "\n" )

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2006-12-1 08:41:00 | 显示全部楼层

Re: 菜鸟问题:c++里面得#怎么个用法?

#和##操作符只有在宏定义里才生效…

3

主题

17

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2006-12-1 12:49:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

谢谢!搞清楚拉

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-12-4 12:42:00 | 显示全部楼层

Re:菜鸟问题:c++里面得#怎么个用法?

少双引号吧...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 00:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表